intrare
Notificare pop-up (Toast notificare) este un mesaj care apare pe suprafața ferestrei de aplicație, de umplere are nevoie de cantitatea de spațiu necesar pentru posturile. În acest caz, activitatea de aplicare curentă rămâne funcțional pentru utilizator. În câteva secunde, mesajul este închis lin. Notificare pop-up poate fi, de asemenea, create de serviciu care rulează în fundal. Ca o regulă, o notificare de tip pop-up este utilizat pentru a afișa mesaje text scurte.
Pentru a crea un anunț de tip pop-up trebuie să fie inițializată obiect pâine prăjită cu Toast.makeText) metoda (. și apoi apel metoda spectacol () pentru a afișa un mesaj pe ecran:
In makeText () metoda are trei parametri:
- contextul unei aplicații;
- Mesaj text;
- Lungimea notificării de afișare a orei. Puteți utiliza numai două constante;
Constante pentru a specifica durata de afișare a mesajelor
- LENGTH_SHORT - (implicit) afișează o notificare text pentru o perioadă scurtă de timp;
- LENGTH_LONG - afișează o notificare de text pentru o perioadă lungă de timp.
Dacă sapi în Android codul sursă, puteți găsi următoarele linii:
După cum puteți vedea, notificările sunt afișate pe trei secunde și jumătate sau 2 secunde. Nu există alte opțiuni, nu încercați să utilizați alte valori - nu va reuși.
Reglarea poziției pe ecran
În mod implicit, standard notificare de tip pop-up apare în partea de jos a ecranului. Schimbarea locației în care notificarea se poate utiliza metoda setGravity (int, int). Metoda are trei parametri:
- constant standard pentru plasarea obiectului într-un recipient mai mare (de exemplu, GRAVITY.CENTER, GRAVITY.TOP și colab.);
- deplasare de-a lungul axei X;
- axa Y. de offset
De exemplu, dacă doriți să observați a apărut în centrul ecranului, apoi utilizați următorul cod:
Dacă doriți să mutați alerta la dreapta, pur și simplu crește valoarea celui de al doilea parametru. Pentru deplasarea în jos ar trebui să crească valoarea ultimului parametru. Prin urmare, în sus și valori negative pentru leftward.
Nu uita despre show metoda ()
O greșeală tipic făcută de programatori novice - au uitat să adăugați o metodă de apel afișează () pentru a afișa un mesaj pe ecran. Din fericire, în studio, dacă pierdeți arată metoda (). linia va fi evidențiată, iar atunci când cursorul mouse-ului la șirul pentru a vedea:
Crearea unui proiect nou sau de a folosi orice proiect vechi din lecția anterioară. Adăugați o activitate buton pe ecran și să alocați Afișați textul Toast. și atribuiți Android atribut: onClick valoarea showToast. Acum scrie codul:
Rulați aplicația și faceți clic pe butonul. În centrul ecranului va apărea pentru o perioadă scurtă de timp, un mesaj de tip text, care va dispărea de la sine.
În Android 4.4 apariția mesajului pop-up sa schimbat, rotunjit dreptunghi. Nu folosit pentru a fi un dreptunghi.
Pentru a consolida materialul a scrie un alt exemplu. Eliminați codul anterior să faceți clic pe butonul și scrie următorul cod:
M-am gândit că s-ar putea să nu observați mesajul care este afișat prea puțin timp. Deci, de data aceasta am folosit o LENGTH_LONG constantă. astfel încât să aibă timp să acorde o atenție la mesajul și în cele din urmă hranei pentru animale accident pisica foame. În plus, am pus mesajul în XML-resurse, așa cum este întotdeauna recomandat să facă. În plus, un mesaj va fi afișat în partea de sus a ecranului.
adăugaţi o fotografie
Ca o regulă, pâine prăjită utilizează mesaje text scurte. Dacă este necesar, puteți adăuga la mesajul și imaginea. Folosind metoda setview (). Toast deținut de obiect. puteți specifica orice vizualizare (inclusiv elementele de limbaj) pentru afișare.
Să începem cu pregătirile. Pregătiți imaginea și puneți-l în res / directorul drawable. așa cum am făcut în lecția cu „Hello Kitty“. Imaginea va fi disponibil prin intermediul aplicației ca un nume de fișier de resurse fără extensia. De exemplu, am adăugat la imagine dosar hungrycat.jpg pisica și o pot accesa prin expresia R.drawable.hungrycat. Așa că imaginea apare în comunicare Toast standard, avem nevoie de un program pentru a crea o clasă ImageView obiect și să ceară pentru el imaginea resurselor prin metoda setImageResource. Prin ea însăși, Toast aspectul standard, este format din LinearLayout container. doriți să adăugați ImageView obiectul creat. Puteți seta, de asemenea, poziția în care doriți să se afișeze o imagine. Dacă specificați o valoare de 0, atunci imaginea va fi afișată deasupra textului. Cod pentru a crea un toast cu imaginea după cum urmează:
Creați-vă propriile notificări pop-up
In exemplul anterior, avem acces la container prin metoda getView (). Puteți merge din spate - pentru a prepara un recipient și injectați-l în obiectul Toast prin metoda setview ().
Dacă un mesaj de tip text simplu suficient pentru a notifica aplicația utilizator, puteți crea propriul aspect de design al notificării sale. Pentru structura fișierului XML și lucrul cu acesta în programul folosit clasa LayoutInflater și metodele sale getLayoutInflater () sau getSystemService (). ca obiect retur LayoutInflater. Apoi, apelul se umfle () preparat vedere rădăcină obiect al acestui aspect. De exemplu, pentru a notifica fișierul de marcare numit custom_layout.xml și element rădăcină c id Android său: id = „@ + id / toast_layout“ codul ar fi:
Parametrii care trebuie trecut pentru a umfla metoda ():
- identificator de resurse aspect (custom_layout.xml);
- vizualizare rădăcină Resource Identifier (toast_layout).
După ce a primit punctul de vedere al rădăcină poate primi toate punctele de vedere pentru copii sunt deja cunoscute metoda findViewByid () pentru a determina conținutul acestor elemente.
Apoi se creează un obiect pâine prăjită și setați proprietățile dorite, de exemplu, gravitatea și durata timpului de afișare de notificare.
setview metoda () După aceea provocată. care este transmis aspect de notificare și metoda de spectacol (). pentru a afișa un anunț cu propriul său aspect:
Trebuie să creați custom_layout.xml de marcare.
Identificați două elemente copil ImageView și TextView:
Pornește proiectul de execuție. Când apăsați butonul de apel să apară pentru câteva secunde, o fereastră de notificare cu un mesaj text și pictograma.
Utilizarea fluxurilor de lucru de notificare Toast
Ca un element al GUI Toast trebuie să fie numit în firul GUI, în caz contrar există riscul de emisie de excepții inter-thread. Listarea obiect Handler este utilizat pentru a se asigura că Toast de notificare a fost cauzată în firul GUI.
Pentru mai multe informații,
În cele din urmă vreau să avertizeze o potențială problemă. Când apelați mesajele trebuie să fie specificate în contextul metodei makeText () primul parametru. Pe Internet și, eventual, pe site-ul meu va veni peste un exemplu de makeText (MainActivity.this.). Erori de acest lucru, deoarece clasa de activitate este un descendent din context și, în cele mai multe cazuri, proba va funcționa. Dar, uneori, eu primesc scrisori de la oameni care se plâng de comportamentul straniu al mesajului atunci când textul nu este aliniat, trunchiate, etc. Acest lucru se datorează faptului că activitatea poate utiliza o anumită temă sau un stil care poate provoca un astfel de efect secundar. Prin urmare, vă recomand să folosiți metoda getApplicationContext ().
Al doilea punct - fragmente, care vor studia mai târziu, nu sunt descendenți ai contextului. Dacă doriți să deschideți un mesaj pop-up în fragment, atunci problema se poate pune într-o fundătură. Trebuie să adăugați o nouă variabilă la clasa de activitate prin getActivity () Metoda:
Același lucru se poate întâmpla atunci când apelați un mesaj de tip pop-up casete de dialog, care nu sunt relevante pentru clasa Context. In schimb getApplicationContext () poate provoca, de asemenea, metoda getBaseContext ().
concluzie
Astăzi ați învățat cum să afișeze mesaje de tip pop-up de pe ecran și a obține o mostră de cod pe care trebuie să fie introdus în oricare din aplicația dvs., astfel încât utilizatorii să nu uitați niciodată să se hrănească animalele de companie.