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
Gestione dei nomi con le regole @layer in CSS
Escludere alcuni file da GitHub Secret Scanning
Rendere i propri workflow e le GitHub Action utilizzate più sicure
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
Utilizzare Locust con Azure Load Testing
Gestione CSS in Blazor con .NET 9
Ottenere un token di accesso per una GitHub App
Creare una custom property in GitHub
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel
I più letti di oggi
- Formati per l'impostazione del colore in CSS3
- Eseguire una chiamata AJAX per inviare dati al server in Angular 2
- Impostare un riferimento ad una entity collegata tramite foreign key
- la Call For Papert per #netconfit è aperta!invia la tua sessione da https://aspit.co/netconfit-20 puoi parlare di #net5, #aspnet5, #efcore5, #CSharp9 e tutto quello che ruota intorno a #dotnet.