Sdílet prostřednictvím


Zobrazení automaticky otevíraných oken

Zobrazení výstrahy, dotazování uživatele na volbu nebo zobrazení výzvy představuje běžnou úlohu uživatelského rozhraní. Xamarin.Forms má ve třídě tři metody Page pro interakci s uživatelem prostřednictvím automaticky otevíraných oken: DisplayAlert, DisplayActionSheeta DisplayPromptAsync. Vykreslí se s příslušnými nativními ovládacími prvky na každé platformě.

Zobrazit výstrahu

Všechny Xamarin.Formspodporované platformy mají modální automaticky otevírané okno pro upozorňování uživatele nebo kladení jednoduchých otázek. Chcete-li tyto výstrahy Xamarin.Formszobrazit , použijte metodu DisplayAlert na libovolném Page. Následující řádek kódu zobrazuje uživateli jednoduchou zprávu:

await DisplayAlert ("Alert", "You have been alerted", "OK");

Dialogové okno Upozornění s jedním tlačítkem v iOSu a Androidu

Tento příklad neshromažďuje informace od uživatele. Výstraha se zobrazí modálně a po zavření uživatel pokračuje v interakci s aplikací.

Metodu DisplayAlert lze také použít k zachycení odpovědi uživatele tím, že prezentuje dvě tlačítka a vrátí .boolean Pokud chcete získat odpověď z výstrahy, zadejte text pro tlačítka i await metodu. Jakmile uživatel vybere jednu z možností, vrátí se odpověď do vašeho kódu. async Poznamenejte si následující vzorový kód a await klíčová slova:

async void OnAlertYesNoClicked (object sender, EventArgs e)
{
  bool answer = await DisplayAlert ("Question?", "Would you like to play a game", "Yes", "No");
  Debug.WriteLine ("Answer: " + answer);
}

Dialogové okno Upozornění se dvěma tlačítky

Metoda DisplayAlert má také přetížení, které přijímají FlowDirection argument, který určuje směr, ve kterém prvky uživatelského rozhraní proudí v rámci výstrahy. Další informace o směru toku najdete v tématu Lokalizace zprava doleva.

Upozorňující

Ve výchozím nastavení v UPW se v případě, že se v upozornění zobrazí všechny přístupové klíče, které jsou definované na stránce za výstrahou, je stále možné aktivovat. Další informace najdete v tématu Přístupové klíče visualElement ve Windows.

Průvodce uživateli úkoly

UIActionSheet je běžný prvek uživatelského rozhraní v iOSu. Tato Xamarin.FormsDisplayActionSheet metoda umožňuje zahrnout tento ovládací prvek do aplikací pro různé platformy, vykreslování nativních alternativ v Androidu a UPW.

Pokud chcete zobrazit list akcí, await DisplayActionSheet v libovolném Pagepřípadě předáte popisky zpráv a tlačítek jako řetězce. Metoda vrátí popisek řetězce tlačítka, na které uživatel klikl. Tady je jednoduchý příklad:

async void OnActionSheetSimpleClicked (object sender, EventArgs e)
{
  string action = await DisplayActionSheet ("ActionSheet: Send to?", "Cancel", null, "Email", "Twitter", "Facebook");
  Debug.WriteLine ("Action: " + action);
}

Dialogové okno Akční list v iOSu a Androidu

Tlačítko destroy se vykreslí jinak než ostatní tlačítka v iOSu a lze ho nechat null nebo zadat jako třetí řetězcový parametr. Následující příklad používá destroy tlačítko:

async void OnActionSheetCancelDeleteClicked (object sender, EventArgs e)
{
  string action = await DisplayActionSheet ("ActionSheet: SavePhoto?", "Cancel", "Delete", "Photo Roll", "Email");
  Debug.WriteLine ("Action: " + action);
}

Dialogové okno Akční list s tlačítkem zničit v iOSu a Androidu

Metoda DisplayActionSheet má také přetížení, které přijímá FlowDirection argument, který určuje směr, ve kterém prvky uživatelského rozhraní proudí v seznamu akcí. Další informace o směru toku najdete v tématu Lokalizace zprava doleva.

Zobrazení výzvy

Pokud chcete zobrazit výzvu, zavolejte v libovolném Pagevolání DisplayPromptAsync názvu a zprávy jako string argumenty:

string result = await DisplayPromptAsync("Question 1", "What's your name?");

Výzva se zobrazí modálně:

Snímek obrazovky s modální výzvou v iOSu a Androidu

Pokud je tlačítko OK klepnutí, zadaná odpověď se vrátí jako string. Pokud je na tlačítko Storno klepnutí, null vrátí se.

Úplný seznam argumentů pro metodu DisplayPromptAsync je:

  • title, typu string, je název, který se má zobrazit v příkazovém řádku.
  • message, typu string, je zpráva, která se má zobrazit ve výzvě.
  • accept, typu string, je text tlačítka Přijmout. Jedná se o volitelný argument, jehož výchozí hodnota je OK.
  • cancel, typu string, je text tlačítka zrušit. Jedná se o volitelný argument, jehož výchozí hodnota je Cancel.
  • placeholder, typu string, je zástupný text, který se má zobrazit v příkazovém řádku. Jedná se o volitelný argument, jehož výchozí hodnota je null.
  • maxLength, typu int, je maximální délka odpovědi uživatele. Jedná se o volitelný argument, jehož výchozí hodnota je -1.
  • keyboard, typu Keyboard, je typ klávesnice, který se má použít pro odpověď uživatele. Jedná se o volitelný argument, jehož výchozí hodnota je Keyboard.Default.
  • initialValue, typu string, je předem definovaná odpověď, která se zobrazí a kterou lze upravit. Jedná se o volitelný argument, jehož výchozí hodnota je prázdná string.

Následující příklad ukazuje nastavení některých volitelných argumentů:

string result = await DisplayPromptAsync("Question 2", "What's 5 + 5?", initialValue: "10", maxLength: 2, keyboard: Keyboard.Numeric);

Tento kód zobrazí předdefinovanou odpověď 10, omezí počet znaků, které lze zadat na 2, a zobrazí číselnou klávesnici pro uživatelský vstup:

Snímek obrazovky s volitelnou modální výzvou v iOSu a Androidu

Upozorňující

Ve výchozím nastavení v UPW se při zobrazení výzvy zobrazí všechny přístupové klíče, které jsou definované na stránce za výzvou, je stále možné aktivovat. Další informace najdete v tématu Přístupové klíče visualElement ve Windows.