Conoscere la posizione dello schermo del device nelle Windows Store app

di Alessio Leoncini, in WinRT 8.1,

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

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi