Zobrazit automaticky otevíraná okna

Ukázka stažení Stažení ukázky

Zobrazení výstrahy, vyžádání uživatele k výběru nebo zobrazení výzvy je běžné úlohy uživatelského rozhraní. Xamarin.Forms má tři metody Page pro interakci s uživatelem prostřednictvím automaticky otevíraných oken: DisplayAlert , DisplayActionSheet a DisplayPromptAsync . Jsou vykresleny s odpovídajícími nativními ovládacími prvky na každé platformě.

Zobrazit výstrahu

Xamarin.FormsPlatformy s podporou všech platforem mají modální automaticky otevíraná okna upozorňující na uživatele nebo se na ně dotazují jednoduché otázky. Chcete-li zobrazit tyto výstrahy v nástroji Xamarin.Forms , použijte DisplayAlert metodu na jakémkoli Page . Následující řádek kódu ukazuje uživateli jednoduchou zprávu:

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

Dialogové okno výstrahy s jedním tlačítkem, v iOS a Androidu

Tento příklad neshromažďuje informace od uživatele. Výstraha se zobrazí v modálním a poté, co byla zrušena, uživatel pokračuje v interakci s aplikací.

DisplayAlertMetodu lze také použít k zachycení reakce uživatele tím, že prezentují dvě tlačítka a vrátí boolean . Chcete-li získat odpověď z výstrahy, zadejte text pro obě tlačítka a await metodu. Jakmile uživatel vybere jednu z možností, odpověď se vrátí vašemu kódu. Poznamenejte async si await klíčová slova a v následujícím ukázkovém kódu:

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);
}

Dialog výstrah se dvěma tlačítky

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

Upozornění

Ve výchozím nastavení se na UWP při zobrazení výstrahy zobrazí všechny přístupové klíče, které jsou definované na stránce za výstrahou, i přesto se můžou aktivovat. Další informace najdete v tématu VisualElement Access Keys na Windows.

Průvodce uživateli prostřednictvím úkolů

UIActionSheet je běžným prvkem uživatelského rozhraní v iOS. Xamarin.FormsDisplayActionSheet Metoda umožňuje zahrnout tento ovládací prvek do aplikací pro různé platformy a vykreslovat nativní alternativy v Androidu a UWP.

Chcete-li zobrazit seznam akcí, awaitDisplayActionSheet v jakémkoli Page případě předejte zprávy a popisky tlačítek jako řetězce. Metoda vrátí popisek řetězce tlačítka, na které uživatel kliknul. Tady vidíte 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);
}

Dialog ActionSheet, v iOS a Androidu

destroyTlačítko se vykreslí odlišně pro ostatní tlačítka v iOS a může být ponecháno null nebo zadáno jako třetí parametr řetězce. 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 ActionSheet s tlačítkem zničit, v systémech iOS a Android

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

Zobrazit výzvu

Chcete-li zobrazit výzvu, zavolejte na DisplayPromptAsync Any a Page předejte název a zprávu jako string argumenty:

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

Výzva se zobrazí modálním způsobem:

Snímek obrazovky modální výzvy modálního výzvy, v iOS a Androidu

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

Úplný seznam argumentů pro DisplayPromptAsync metodu je:

  • titletyp string je název, který se má zobrazit v příkazovém řádku.
  • messagetyp string je zpráva, která se má zobrazit v příkazovém řádku.
  • accepttyp string je text tlačítka přijmout. Toto je volitelný argument, jehož výchozí hodnota je OK.
  • canceltyp string je text pro tlačítko Storno. Toto je volitelný argument, jehož výchozí hodnota je Cancel.
  • placeholdertyp string je zástupný text, který se má zobrazit v příkazovém řádku. Toto je volitelný argument, jehož výchozí hodnota je null .
  • maxLengthtyp int je maximální délka reakce uživatele. Toto je volitelný argument, jehož výchozí hodnota je-1.
  • keyboardtyp Keyboard je typ klávesnice, který se má použít pro odpověď uživatele. Toto je volitelný argument, jehož výchozí hodnota je Keyboard.Default .
  • initialValuetyp string je předem definovaná odpověď, která se zobrazí, a kterou lze upravit. Toto je 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, omezuje počet znaků, které mohou být vloženy na hodnotu 2, a zobrazí numerickou klávesnici pro vstup uživatele:

Snímek obrazovky s pro volitelnou modální výzvu, v iOS a Androidu

Upozornění

Ve výchozím nastavení se na UWP při zobrazení výzvy zobrazí všechny přístupové klíče, které jsou definované na stránce za výzvou, i přesto se můžou aktivovat. Další informace najdete v tématu VisualElement Access Keys na Windows.