Come abbiamo visto nello script #78, grazie all'uso dei sensori possiamo conoscere molte informazioni sullo stato fisico del device o dell'ambiente che lo circonda.
All'interno del namespace Windows.Devices.Sensors troviamo la classe SimpleOrientationSensor, che permette di conoscere l'angolo di rotazione oltreché se il dispositivo è rivolto verso il basso o verso l'alto (faccia giù o faccia su).
Come gli altri sensori, con il metodo GetDefault ne recuperiamo una istanza che ci permette l'accesso, con GetCurrentOrientation e con l'evento OrientationChanged possiamo recuperare l'orientamento corrente in modo puntuale o a seguito di un cambiamento.
var str = new StringBuilder(); var sensor = SimpleOrientationSensor.GetDefault(); if (sensor == null) return; var orientation = sensor.GetCurrentOrientation(); str.AppendLine(orientation.ToString()); switch (orientation) { case SimpleOrientation.NotRotated: break; case SimpleOrientation.Rotated90DegreesCounterclockwise: break; case SimpleOrientation.Rotated180DegreesCounterclockwise: break; case SimpleOrientation.Rotated270DegreesCounterclockwise: break; case SimpleOrientation.Faceup: break; case SimpleOrientation.Facedown: break; } sensor.OrientationChanged += (SimpleOrientationSensor obj, SimpleOrientationSensorOrientationChangedEventArgs args) => { Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { str.AppendLine(args.Orientation.ToString()); textBlock1.Text = str.ToString(); }); };
L'orientamento è espresso dall'enumerato SimpleOrientation con i valori NotRotated,Rotated90DegreesCounterclockwise,Rotated180DegreesCounterclockwise,Rotated270DegreesCounterclockwise,Faceup e Facedown. Questi ultimi indicano proprio se il device ha lo schermo rivolto verso l'alto o verso il basso.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Sviluppare un'interfaccia utente in React con Tailwind CSS e Preline UI
Autenticarsi in modo sicuro su Azure tramite GitHub Actions
Utilizzare Container Queries nominali
Generare velocemente pagine CRUD in Blazor con QuickGrid
Creare alias per tipi generici e tuple in C#
Creare una custom property in GitHub
Gestione degli stili CSS con le regole @layer
Gestire eccezioni nei plugin di Semantic Kernel in ASP.NET Core Web API
Miglioramenti nelle performance di Angular 16
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Recuperare l'ultima versione di una release di GitHub
Effettuare il refresh dei dati di una QuickGrid di Blazor
I più letti di oggi
- Tutorial Entity Framework 6
- Tutorial Entity Framework
- Tutorial HTML5
- RT @aspitalia Partecipa al nostro evento #RCD4, fai un RT e sarai estratto per 1 copia di #sl3guidacompleta! http://u.aspitalia.com/bw
- Migliorare l'organizzazione delle risorse con Azure Policy
- Configurare più site su unico web role di Windows Azure
- Windows Phone 8 Developer Day - Milano
- ReBuild 2020 Live - Online
- ASPItalia.com Network: si aggiungono LINQItalia.com e SilverlightItalia.com
- Rilasciata la versione 1.0 di ASP.NET MVC