WinRT, képernyő tájolását érzékelő

Az utóbbi években a számítógépek során az evolúció, van az új „érzékek”. Nem, ez nem a telek egy új sci-fi film! Sok számítógép - különösen a tabletták és más mobil eszközök - ellátott berendezés, amely lehetővé teszi, hogy a gép automatikusan meghatározza az orientáció a háromdimenziós térben, a helyét a Föld felszínén, a támogatási intenzitás a környezeti fény, és még be a számítógép sebességét a felhasználó kezébe.

Mindezen eszközöket összefoglaló néven érzékelő (szenzor). és a szoftver interfész dolgozni velük alapvetően a térben Windows.Devices.Sensors neveket. mivel osztályok, amelyek a program meghatározza a földrajzi elhelyezkedés, térben helyezkednek Windows.Devices.Geolocation neveket. helymeghatározó berendezés gyakran emlegetik GPS (név szerint a GPS műholdas rendszer), hanem a számítógép gyakran meghatározza a földrajzi hely hálózaton keresztül.

Ahhoz, hogy a maximális hasznot ebből az anyagból, ha kell egy futtató számítógépen a mintaprogramok, és mozgassa az űrben. Ha a gépen a Windows 8 fejlesztését korlátozódik egy íróasztal rendszer (mint az enyém), hogy egy tablettát - például a Microsoft Surface - és bővíteni a programot, hogy távolról.

tájolás

A legegyszerűbb az összes érzékelő osztályok SimpleOrientationSensor osztály; ez ad a program egy durva ötlet az orientáció a háromdimenziós térben, de anélkül, hogy részleteket. felhívja a statikus módszer szerezni egy példányt SimpleOrientationSensor:

Ezt a műveletet az alkalmazást csak egyszer, úgy, hogy a kód lehet végezni a területen definíció, hogy hozzáférést biztosít az objektum az osztályban.

Ha GetDefault () metódus null értéket ad vissza, a számítógép nem rendelkezik az eszközöket, hogy megállapítja az irányukat.

Value leírja a jelenlegi orientáció lehet bármikor nyerik SimpleOrientationSensor tárgy:

SimpleOrientation felsorolás áll hat értékek:

Ez azért van, mert a korlátozások ezen információk SimpleOrientationSensor osztály az úgynevezett „egyszerű» (egyszerű).

Emellett a program kaphat esemény értesítést, ha egy tájolás változás. Rendeljen egy kezelőt az esemény OrientationChanged:

A kiváltó esemény, ha a tájolás változik, ami nem fog megtörténni, ha a számítógép továbbra is viszonylag állandó. Ha egy program igényel kezdeti érték, hívja a módszer kinevezését követően GetCurrentOrientation eseménykezelő.

Az eseménykezelő végrehajtásra kerül a saját szálában, így kölcsönhatásba az UI szál kell használni CoreDispatcher objektum:

Esemény vitát egy nagyon hosszú neve tartalmazza Orientation tulajdonság Egy felsorolt ​​típus SimpleOrientation és vagyoni típusú Időbélyeg DateTimeOffset. Ésszerű, hogy kérje: Nincs bennünk információt a tájolása az eszköz? Vajon nem adott teret Windows.Graphics.Display neveket? Van DisplayProperties osztály és a statikus tulajdonságok és NativeOrientation CurrentOrientation és OrientationChanged esemény nem nyújt tájékoztatást a tájolás? Emlékezzünk vissza, hogy a két statikus tulajdonságok visszatérési értéke enum DisplayOrientations: Tájkép, Portré, LandscapeFlipped, PortraitFlipped.

Osztályok SimpleOrientationSensor DisplayProperties és minden bizonnyal összefügg, de fontos, hogy megértsék a lényegét ezzel kapcsolatban: SimpleOrientationSensor osztály tájolását írja le a számítógép háromdimenziós térben. DisplayProperties.CurrentOrientation tulajdonság leírja, hogy a Windows a számítógép kompenzálja automatikusan tájolásának megváltoztatása a tájékozódás az ablakot. Más szóval, SimpleOrientationSensor jelentés információt a berendezés orientációja, a DisplayProperties.CurrentOrientation - tájékoztatás a tájékozódás a program, amely lezajlott változásokra reagálva a tájékozódás a berendezés.

OrientationAndOrientation projekt segít megkülönböztetni kétféle orientáció. XAML fájl határozza több TextBlock elemek megjelenítésére címkék és adatok:

kód mögött fájl határozza meg a két módszer, amelynek kizárólagos célja - meghatározó két TextBlock elem a második oszlopban a rács. E két módszer az úgynevezett designer beállítani a kezdeti értékeket, és a két esemény rakodók:

Megjegyzés: SimpleOrientationSensor példány jön létre, mint a mező, de a tervező ellenőrzi lehetséges null hozzáférés előtt az objektumot.

Ha ezt a programot a táblagép fő fekvő helyzetben (azaz amelyek DisplayProperties.NativeOrientation tulajdonság visszaadja DisplayOrientations.Landscape), és ha még nem tett semmit, hogy megakadályozza a Windows 8 változások tájolását (például azáltal, hogy a tabletta és dokkoló - dokkoló Station), akkor a szekvenciális forgótányér óramutató járásának megfelelő orientációját a két mutatók összefüggőek a következőképpen:

Értékek helyzetérzékelő (SimpleOrientationSensor) és berendezések (DisplayProperties.CurrentOrientation) a táj

Kapcsolódó cikkek