Xamarin.Forms duální obrazovka

Zařízení se dvěma obrazovkami, jako je Microsoft Surface Duo, usnadňují nové možnosti uživatelského prostředí pro vaše aplikace. Xamarin.Forms zahrnuje TwoPaneView a DualScreenInfo třídy, abyste mohli vyvíjet aplikace pro zařízení s duální obrazovkou.

Začínáme

Pokud chcete do Xamarin.Forms aplikace přidat funkce se dvěma obrazovkami, postupujte takto:

  1. Otevřete dialogové okno Správce balíčků NuGet pro vaše řešení.

  2. Pod kartou Procházet vyhledejte Xamarin.Forms.DualScreen.

  3. Nainstalujte balíček Xamarin.Forms.DualScreen do svého řešení.

  4. V události přidejte následující volání metody inicializace do třídy OnCreate projektu MainActivity Android:

    Xamarin.Forms.DualScreen.DualScreenService.Init(this);
    

    Tato metoda je nutná k tomu, aby aplikace mohla detekovat změny ve stavu aplikace, například přesah na dvě obrazovky.

  5. Activity Aktualizujte atribut třídy projektu MainActivity androidu, aby obsahoval všechny tyto ConfigurationChanges možnosti:

    ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation
        | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize | ConfigChanges.UiMode
    

    Tyto hodnoty jsou vyžadovány, aby změny konfigurace a stav rozsahu mohly být spolehlivěji hlášeny. Ve výchozím nastavení jsou do Xamarin.Forms projektů přidány pouze dva, takže nezapomeňte přidat zbytek pro spolehlivou podporu duální obrazovky.

Řešení problému

DualScreenInfo Pokud třída nebo TwoPaneView rozložení nefungují podle očekávání, pečlivě zkontrolujte pokyny k nastavení na této stránce. Běžné příčiny chyb jsou vynechání nebo nesprávná konfigurace Init metody nebo ConfigurationChanges hodnot atributů.

Další pokyny a referenční implementace najdete v Xamarin.Forms ukázkách s duální obrazovkou.

Další kroky

Po přidání nuGetu přidejte do aplikace funkce se dvěma obrazovkami s následujícími pokyny:

  • Vzory návrhu se dvěma obrazovkami – při zvažování nejlepšího využití více obrazovek na zařízení se dvěma obrazovkami najdete v těchto doprovodných materiálech k tomuto vzoru, abyste našli nejvhodnější řešení pro vaše aplikační rozhraní.
  • TwoPaneView layout – Xamarin.FormsTwoPaneView třída inspirovaná ovládacím prvek UPW stejného názvu je rozložení pro různé platformy optimalizované pro zařízení s duální obrazovkou.
  • Pomocná třída DualScreenInfo – třída DualScreenInfo umožňuje určit, na kterém podokně je vaše zobrazení, jak velký je, v jakém stavu je zařízení, úhel závěsu a další.
  • Triggery se dvěma obrazovkamiXamarin.Forms.DualScreen Obor názvů obsahuje dva aktivační události stavu, které aktivují VisualState změnu, když se změní režim zobrazení připojeného rozložení nebo okna.

Další informace najdete v dokumentaci pro vývojáře se dvěma obrazovkami .