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
Utilizzare la session affinity con Azure Container Apps
Utilizzare domini personalizzati gestiti automaticamente con Azure Container Apps
Mascherare l'output di un valore all'interno dei log di un workflow di GitHub
Le novità di Angular: i miglioramenti alla CLI
Creare moduli CSS in React
Utilizzare Tailwind CSS all'interno di React: installazione
Reactive form tipizzati con FormBuilder in Angular
Eseguire una query su SQL Azure tramite un workflow di GitHub
Specificare il versioning nel path degli URL in ASP.NET Web API
Inizializzare i container in Azure Container Apps
Sfruttare MQTT in cloud e in edge con Azure Event Grid
Configurare policy CORS in Azure Container Apps