Senzor pro úhel kloubu zařízení se dvěma displeji v Uno Platform

Xamarin Uno Platform WinUI

4 years ago

Před několika dny tým Uno Platform přinesl horkou novinku – plnohodnotnou multiplatformní podporu pro zařízení se dvěma displeji pomocí TwoPaneView. A dnes Uno Platform dostává podporu pro další unikátní vlastnost těchto zařízení – senzor pro určení úhlu kloubu (Hinge angle sensor), přesně na čas pro Microsoft 365 Developer Day! Jak to tedy funguje?

Uno Platform

UWP & Surface Neo

Na Windows 10X s Universal Windows Platform můžeme použít API Windows.Devices.Sensors.HingeAngleSensor abychom dostali notifikace o změnách úhlu kloubu zařízení:

Vlastnost HingeAngleReading.AngleInDegrees, jak je patrné z jejího názvu, vrací aktuální úhel kloubu ve stupních. Opravdu jednoduché!

Uno Platform & Surface Duo

Surface Duo běží na Androidu, takže API pro jeho senzor kloubu je odlišné. Naštěstí nás to ale nemusí zajímat, pokud používáme Uno Platform! Stačí následující tři kroky:

  1. Přidejte do Android projektu referenci na NuGet balíček Uno.UI.DualScreen a aktualizujte všechny balíčky na verzi 2.1.0-dev.1181 či novější
  2. Napište svůj UWP kód pomocí Windows.Devices.Sensors.HingeAngleSensor
  3. Spusťte na Androidu!

S Uno Platform UWP kód poběží na Androidu bez jakékoliv změny! Poznámka: Současný verze emulátoru Surface Duo nám zatím neumožňuje změnit úhel kloubu. Ale tato možnost již brzy bude k dispozici, podle členů týmu, kteří na emulátoru pracují. Mezitím můžete začít vytvářet své aplikace, které senzor využívají a funkčnost otestovat až bude k dispozici.. https://twitter.com/gmerin/status/1224868148769198081?s=20

Ukázková aplikace

Na ukázku multiplatformního API jsem vytvořil Uno Platform aplikaci, která je dostupná zde na mém GitHubu.

Sample app running on Surface Duo emulator

Ukázková aplikace běžící na emulátoru Surface Duo

Shrnutí

Je skvělé, že jsou nová zařízení se dvěma displeji již za rohem! Přestože Surface Neo běží na Windows 10X a Surface Duo na Androidu, stačí napsat kód jednou a spustit kdekoliv díky Uno Platform a jeho API TwoPaneView a HingeAngleSensor. Takže Uno, Duo, Neo!