Ako zobraziť dialógové okno upozornení v systéme Android?
Vytvorte objekt dialógového okna s upozornením a nastavte ho tak, aby odkazoval na nový objekt a vytvoril pole.
AlertDialogs sú vyskakovacie okná používané na upozornenie používateľa na akciu, ktorú treba vykonať. AlertDialog je možné použiť aj na iné akcie, ako je napríklad poskytnutie zoznamu možností na výber, alebo je možné ho prispôsobiť tak, aby používateľ poskytoval jedinečné podrobnosti, ako sú prihlasovacie informácie alebo nastavenia aplikácie.
Časť 1 zo 4: Porozumenie výstražným dialógom
- 1Pochopte základnú štruktúru výstražného dialógu. AlertDialog je, keď aplikácia pre Android používa systém Android na vloženie dôležitých informácií, ktoré si má používateľ prečítať. AlertDialog je možné použiť aj na varovanie alebo požiadanie používateľa o zmenu dôležitého nastavenia. Bude obsahovať tri súčasti dialógového okna.
- Názov je voliteľný, ale môže byť užitočné vložiť jednoduchú správu alebo otázku. Môže obsahovať aj ikonu
- Oblasť obsahu, ktorá môže zobrazovať správu, zoznam alebo iné vlastné funkcie rozloženia.
- Akčné tlačidlá, ktoré používateľ používa na odoslanie odpovede do poľa AlertDialog. Môže to byť pozitívne tlačidlo, negatívne tlačidlo alebo neutrálne tlačidlo. V danom výstražnom dialógovom okne môžete mať iba jedno z každého typu a až tri tlačidlá.
- 2Pochopte, čo je to trieda. Trieda je šablóna, ktorá vám umožňuje vytvárať ďalšie objekty, ktoré majú svoje vlastné vlastnosti a správanie. Trieda AlertDialog je podtriedou triedy Dialog, ktorá má svoje jedinečné vlastnosti, že okrem štandardnej výzvy na dialógové okno dokáže zobraziť až tri tlačidlá.
- 3Rozhodnite o účele výstražného dialógového okna. Aký je účel poľa AlertDialog? Aké budú možnosti pre používateľa? Je možné, že by užívateľ tento proces inak ignoroval? Napíšte, k čomu bude používateľ vyzvaný, a poznačte si jeho možnosti a možnosti. Ak sa používateľovi zdá písanie nejasné, nemusí pochopiť účel poľa AlertDialog.
- 4Napíšte a ilustrujte výstražný dialóg. Nakreslite, ako má vyzerať pole AlertDialog. Napíšte si do zoznamu možnosti, ktoré by ste chceli implementovať, a ich následné akcie. Dobre si premyslite, k čomu bude používateľ vyzvaný, a zaistite, aby písanie nespôsobovalo nejednoznačnosť.
- 5Stiahnite si a nainštalujte súpravu Android SDK. Na vývoj softvéru v špecializovanom prostredí na vytváranie programov a aplikácií sa používa súprava na vývoj softvéru alebo súprava SDK. Súpravu SDK si môžete stiahnuť priamo z webu vývojára systému Android.
- 6Vytvorte nový projekt. Aj keď máte existujúci projekt, vytvorenie projektu môže byť ideálne, ak chcete pred pridaním kódu do svojho hlavného projektu vytvoriť testovacie prostredie. Na paneli s ponukami kliknite na položky Súbor> Nový> Nový projekt... a podľa pokynov vytvorte novú aplikáciu.
V danom výstražnom dialógovom okne môžete mať iba jedno z každého typu a až tri tlačidlá.
Časť 2 zo 4: Kódovanie výzvy pre výstražný dialóg
- 1Vytvorte spúšťač pre dialógové okno výstrah. AlertDialog bude potrebné vyvolať pomocou akcie, ktorú vykoná používateľ. Hlavné rozloženie aplikácie môžete upraviť v súbore „activity_main.xml“ a poskytnúť tlačidlo na testovanie AlertDialogu. Existujú dva spôsoby, ako vytvoriť tlačidlo. Prepínať medzi metódami návrhu a kódovania kliknutím na položku Návrh alebo Text, ktoré sa nachádzajú v spodnej časti panela hlavného okna, umožňuje prepínať medzi rôznymi režimami.
- Android SDK vám umožňuje upravovať vaše rozloženie, napríklad hlavné rozhranie, ktoré sa nachádza v hierarchii projektov v priečinku Rozloženie, pomocou rozhrania drag and drop na vytvorenie tlačidla.
- Tlačidlo v kóde XML môžete tiež vytvoriť sami úpravou dokumentu XML. Všimnite si toho, že riadok označujúci akciu onClick sa používa na spustenie poľa AlertDialog po kliknutí na tlačidlo.
<Button android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Dialógové okno testovacieho upozornenia" android: id = "@+id/buttonTest" android: layout_alignParentTop = "true" android: layout_centerHorizontal = "true" android: layout_marginTop = "77dp" android: onClick = "showDialog" />
- 2Na prístup k rozhraniu API importujte triedu alertdialog. To bude potrebné na prístup k triede na vytvorenie výzvy AlertDialog. Trieda AlertDialog ponúka možnosť vytvoriť dialógové okno na obrazovke, nastaviť možnosti, zobrazovať názvy a zobrazovať obsah v dialógovom okne. Ak chcete importovať triedu, otvorte súbor „MainActivity.java“. Posuňte sa na začiatok súboru a umiestnite ho medzi ostatné triedy importované do projektu.
importovať android.app.AlertDialog;
- Táto trieda bude užitočná pre celú vašu aplikáciu. Nezabudnite ho pridať na začiatok hierarchie kódu.
- 3Identifikujte objekt tlačidla. Objekt s tlačidlom pomáha identifikovať miniaplikáciu s tlačidlom, ako je vidieť v kóde XML. Vo vašom hlavnom java kóde „MainActivity.java“ identifikuje a inicializuje objekt tlačidla na začiatku vašej hlavnej metódy, ktorá je hlavnou triedou vašej aplikácie.
súkromné tlačidlo ButtonAlertDialog; buttonAlertDialog = (Tlačidlo) findViewByID (R.id.buttonTest);
- 4Počúvajte aktivitu tlačidiel. Pomocou OnClickListener budete môcť predvídať, kedy používateľ ťuknutím na tlačidlo spustí akciu. OnClickListener sa vykonáva počúvaním vstupu používateľa, keď klikne na zodpovedajúce tlačidlo. Poslucháča použijeme na otvorenie našej výzvy AlertDialog.
buttonAlertDialog.setOnClickListener (nový View.OnClickListener () {@Override public void onClick (View alertView) {}); - 5Kódujte komponenty dialógového okna upozornení. V rámci funkcie onClick budete musieť vytvoriť objekt AlertDialog a poskytnúť mu názov, správu a typy tlačidiel, ktoré použijete vo výzve.
- Vytvorte objekt dialógového okna s upozornením a nastavte ho tak, aby odkazoval na nový objekt a vytvoril pole.
AlertDialog alertDialog1 = nový AlertDialog.Builder (MainActivity.this)
- 6Na vytvorenie názvu použite funkciu setra. Funkcia setra vám umožňuje poskytnúť objektu premennú. To je ideálne, aby ste sa vyhli používaniu globálnych premenných, ktoré môžu spôsobovať problémy s výkonom. Názov je úplne voliteľný, ale môžete ho nastaviť tak, aby sa zobrazoval v hornej časti okna AlertDialog.
alertDialog1.setTitle ("príklad výstrahy sprievodcu"); - 7Na nastavenie správy použite funkciu nastavovača. Zadajte správu a popíšte, na čo má používateľ odpovedať.
alertDialog1.setMessage („Android vám poskytuje správu na potvrdenie.“);
- 8Na nastavenie vlastností tlačidiel použite funkcie nastavovača. Poskytnite používateľovi tlačidlá, ktoré bude používať. Môžete použiť kombináciu kladného, záporného a neutrálneho tlačidla. Môžete použiť ľubovoľnú kombináciu týchto troch typov, ale môžete použiť iba jeden z nich až pre tri tlačidlá. Pomocou funkcií onClick môžete vykonať akciu, keď používateľ klikne na jedno z troch tlačidiel v spodnej časti výzvy AlertDialog.
alertDialog1.setPositiveButton ("OK", nový OnClickListener () {public void onClick (DialogInterface dialóg, int which) {}}). alertDialog1.setNegativeButton ("OK", nový OnClickListener () {public void onClick (dialógové okno DialogInterface, int ktoré) {}}). alertDialog1.setNeutralButton ("OK", nový OnClickListener () {public void onClick (dialógové okno DialogInterface, int which) {}}); - 9Na aktiváciu tlačidla fyzického zrušenia použite funkciu nastavovača. Funkciu zrušenia môžete poskytnúť tlačidlu Späť na samotnom zariadení Android bez toho, aby ste klepli na jedno z tlačidiel. Ak je nastavené na hodnotu false, tlačidlo späť na zariadení Android bude ignorované.
alertDialog1.setCancelable (true);
- 10Vytvorte dialógové okno. Toto použite na vytvorenie objektu AlertDialog. To je potrebné urobiť pred zobrazením AlertDialogu na obrazovke.
alertDialog1.create ();
- 11Zobraziť dialógové okno. Po vytvorení objektu použite túto akciu na zobrazenie AlertDialogu na obrazovke.
alertDialog1.show ();
Na prístup k rozhraniu API importujte triedu alertdialog. To bude potrebné na prístup k triede na vytvorenie výzvy AlertDialog.
Časť 3 zo 4: kódovanie zoznamu upozornení na zoznam
- 1Vytvorte pole. Môžete použiť jeden z troch rôznych typov zoznamov, ktoré môžete použiť. Ak chcete poskytnúť odpovede s viacerými možnosťami, namiesto použitia funkcie setMessage použite zoznam. Váš zoznam bude musieť mať pole vytvorené nezávisle, aby sa uviedli rôzne dostupné možnosti. Zoznam bude používať pole na zobrazenie rôznych dostupných možností.
final CharSequence [] items = {"Edit", "Rate", "Share", "Related"}; - 2Vytvorte si zoznam upozornení. Použite setItems na poskytnutie zoznamu možností, z ktorých si môžete vyberať. Zobrazí sa ako zoznam prepínačov, ktoré je potrebné skontrolovať. Táto funkcia bude vyžadovať množstvo možností na výber a onClickListener, ktorý bude predstavovať vstup používateľa.
dialog.setItems (items, new DialogInterface.OnClickListener () {public void onClick (DialogInterface dialog, int item) {// Umiestnite výsledné akcie do tejto funkcie // Celočíselná premenná Item je pozícia indexu vybranej položky}}); - 3Vytvorte si zoznam s možnosťou výberu z viacerých možností. Ak chcete, aby si užívateľ mohol vybrať niekoľko možností, použite súbor setMultiChoiceItems. Ich možnosti sa pri použití zobrazia v začiarkavacích políčkach.
dialog.setMultiChoiceItems (items, null, new DialogInterface.OnMultiChoiceClickListener () {public void onClick (DialogInterface dialog, int item, boolean isChecked) {if (isChecked) // If there are checked items // Item is the index position of the selected položka}}); - 4Vytvorte zoznam, ktorý povoľuje iba trvalú jedinú voľbu. Ak chcete, aby bola singulárna voľba používateľa trvalá, použite setSingleChoiceItems. Ich možnosti sa zobrazia pomocou prepínačov, ktoré sa vo vybratej možnosti zobrazia ako kruhy s bodkami.
dialog.setSingleChoiceItems (items, -1, new DialogInterface.OnMultiChoiceClickListener () {public void onClick (DialogInterface dialog, int item) {if (isChecked) // If there are checked items // Item is the index position of the selected item} });
Nová trieda vám umožní oddeliť kód pre vaše jedinečné rozloženie upozornení.
Časť 4 zo 4: Vytvorenie vlastného dialógového okna upozornení
- 1Vytvorte si vlastné rozloženie. Vlastný AlertDialog vám umožňuje vytvoriť rozloženie s vlastnými parametrami a môže získať informácie, ktoré je možné použiť na získanie prihlasovacích informácií používateľa, nastavení konfigurácie a ďalších. Môžete vytvoriť nové rozloženie, ktoré bude vytvorené vo formáte kódovania XML. Niektoré sady Android SDK poskytujú možnosť použiť funkciu drag-and-drop na ľahké vytvorenie rozloženia, ktoré sa za vás automaticky skonvertuje do formátu XML. Na paneli s ponukami v hornej časti okna kliknite na položku Súbor> Nový> XML> Rozloženie súboru XML. Zadajte názov súboru rozloženia a potom kliknite na položku Dokončiť. Vaše nové rozloženie sa zobrazí na table hlavného okna.
- 2Pridajte do rozloženia miniaplikácie alebo iné komponenty. Komponenty môžete pridávať jednou z dvoch metód. Súbor rozloženia môžete otvoriť pohľadom na hierarchiu projektu zobrazenú na ľavej strane. Potom otvorte nasledujúce cesty k priečinkom: "<AppName>> aplikácia> src> hlavná> res> rozloženie"
- 3Vytvorte novú triedu java. Nová trieda vám umožní oddeliť kód pre vaše jedinečné rozloženie upozornení. Kliknite na Súbor> Nový> Trieda Java. Zadajte názov novej triedy Java a kliknite na tlačidlo OK. V tomto prípade nazveme túto ukážkovú triedu „CustomDialogExample“.
- 4Importujte fragment dialógového okna. Fragment dialógového okna umožňuje maximálnu kompatibilitu s rôznymi verziami systému Android.
importujte android.support.v4.app.DialogFragment;
- Uistite sa, že metóda hlavnej triedy sa rozširuje na DialogFragment.
verejná trieda CustomDialogExample rozširuje DialogFragment
- 5Vytvorte nafukovací objekt rozloženia a objekt zobrazenia. Nafukovač rozloženia vytvorí inštanciu súboru XML rozloženia do objektov zobrazenia. Objekt View je základnou štruktúrou pre komponenty používateľského rozhrania v obdĺžnikovom priestore obrazovky a kreslí na obrazovku objekty a miniaplikácie.
LayoutInflater nafukovač; Zobraziť vlastné zobrazenie;
- 6Vytvorte vlastné rozloženie dialógu. Budeme potrebovať, aby bol verejný, aby bol prístupný kdekoľvek v aplikácii a aby vrátil objekt Dialog. Prevezme objekt balíka.
verejný dialóg onCreateDialog (balík uloženýInstanceState) {} - 7Nafúknite rozloženie z vlastného rozloženia XML. Po vytvorení objektov LayoutInflater a View nafúknite rozloženie a získajte vlastné rozloženie na objekt View z funkcie onCreateDialog.
inflater = getActivity (). getLayoutInflater (); customView = inflater.inflate (R.layout.dialog_custom_background, null);
- 8Vytvorte si vlastný výstražný dialóg. Vo funkcii onCreateDialog vytvorte rozloženie pomocou programu AlertDialog Builder.
AlertDialog.Builder builder = nový AlertDialog.Builder (getActivity ());}}
- Možno budete chcieť pridať tlačidlo na zatvorenie AlertDialogu.
builder.setView (customView).setPositiveButton ("OK", nový OnClickListener () {public void onClick (dialógové okno DialogInterface, int which) {}}); - 9Vrátiť vlastný dialóg s upozornením. Pretože nie sme v hlavnom zameraní aplikácie, funkciu onCreateDialog ukončíme návratom s naším novým AlertDialogom.
vrátiť staviteľ.create ();
- 10Zavolajte na vlastný výstražný dialóg z hlavnej metódy. Svoju funkciu budete musieť využiť odinakiaľ, napríklad z hlavnej metódy vašej aplikácie. V tomto prípade túto verejnú funkciu nazveme customAlertDialogExample, ktorá prevezme objekt View.
public void customAlertDialogExample (Zobraziť customView) {CustomDialogExample dialog = new CustomDialogExample (); dialog.show (getSupportFragmentManager (), "MyCustomAlertDialog"); }
- Súprava SDK zaznamená, ak sa niečo nedá vyvolať, označené červeným textom. Po kliknutí na text vás SDK vyzve, aby ste importovali príslušnú knižnicu a pridali ju do svojho projektu. Podržaním Alt+ ↵ Enterpridáte knižnicu do svojho projektu.
Prečítajte si tiež: Ako zrýchliť smartfón s Androidom?
Otázky a odpovede
- Ako vytvorím aplikáciu pre Android?Na to, aby ste mohli vytvoriť aplikáciu pre Android, si musíte stiahnuť platformu Android SDK, ako je oficiálna SDK. Sada SDK vám umožňuje vytvárať rozloženia obrazovky, kódovať správanie a určovať cieľovú platformu Android, ako je telefón, tablet, hodinky, Android TV a ďalšie.
- Ako môžem dostať výzvu AlertDialog na pozastavenie aplikácie?Obrazovky AlertDialog samotnú aplikáciu nepozastavia. Budete musieť vytvoriť metódu na pozastavenie programu a zobrazenie AlertDialogu. Navrhnite program tak, aby sa aktualizoval v slučke vášho programu, a vytvorte AlertDialog mimo tejto slučky pomocou niečoho ako boolean na označenie činnosti cyklu programu, či má pokračovať alebo zastaviť. Nechajte AlertDialog zmeniť boolean, aby sa slučka mohla prestať pozastavovať a pokračovať v slučke ako obvykle.