A fragmensek használata az Android-alkalmazásokban egy erőteljes és dinamikus felhasználói felülethez

Szerző: John Stephens
A Teremtés Dátuma: 28 Január 2021
Frissítés Dátuma: 8 Lehet 2024
Anonim
A fragmensek használata az Android-alkalmazásokban egy erőteljes és dinamikus felhasználói felülethez - Alkalmazások
A fragmensek használata az Android-alkalmazásokban egy erőteljes és dinamikus felhasználói felülethez - Alkalmazások

Tartalom


Megjegyzés: Ez a cikk feltételezi, hogy ismeri az Android fejlesztés és a Java alapjait. Önnek már képesnek kell lennie alapvető elrendezések létrehozására és nézetek használatára, kattintásra és findViewByID. Ha megérti ezeket a fogalmakat, készen áll arra, hogy megtanulja a töredékek használatát!

A fragmentumok a jó Android felhasználói felület erőteljes jellemzői, amelyek lehetővé teszik az alkalmazás tervezésének megközelítését moduláris módon. Ezek különálló nézetek, amelyek teljes elrendezéseket tartalmazhatnak, és a hozzájuk tartozó Java kóddal együtt járnak. Azáltal, hogy lebontja a felhasználói felületet, létrehozhat logikusabb elrendezéseket, amelyeket a felhasználók könnyebben megérthetnek. Kiegészítő információkat és kezelőszerveket adhat nekik anélkül, hogy el kellene hagyniuk a tevékenységet.


Lásd még: Gondtalan töredékek: Az Android navigációs architektúra elemének használata

A fragmentumok jelentősen több lehetőséget biztosítanak az alkalmazás tervezésében, és jelentősen javíthatják a felhasználói élményt

Sőt, az a tény, hogy a töredékek osztályokként és objektumokként viselkednek, és így több is lehet példányok ugyanazon töredék. Ez azt jelenti, hogy újra és újra felhasználhatja ugyanazt az elrendezést anélkül, hogy újra kellene írnia a kódot, vagy akár két különböző változatot egymás mellett meg kellene mutatnia.

Röviden, bár ez még mindig megtörtént egy másik meg kell tanulni, amikor az Android alkalmazások látszólag végtelen feladatlistájához kapcsolódik, ez valami, amely jelentősen több lehetőséget biztosít Önnek az alkalmazás tervezésében, és jelentősen javíthatja a felhasználói élményt - ez több, mint a megismeréshez fordított idő megéri. .


Hogyan lehet felépíteni az első Android töredékét

Szóval, mit tehetnénk a töredékekkel, amelyeknek egyébként nincs értelme?

Lehet, hogy van fájlok listája - talán ez egy képgaléria -, és meg akarjuk mutatni egy leírást, és lehetőséget adunk a felhasználónak a törlésre vagy megosztásra. Afféle dolog. Minden egyes alkalommal külön tevékenység használatával elküldhetjük őket egy új „Leírás” oldalra, de ha fragmentumokat használunk, akkor azokat az egy oldalon tárolhatjuk, amely kevésbé fékező.

Nyissa meg az Android Studio alkalmazást, és hozzon létre egy véletlenszerű képek listáját itt: activity_main.xml. Képeket használok Dragon Ball Super mert majom vagyok, és ezt fekszem a számítógépemen ...

Most elkészítjük az első töredékünket.

Ehhez tovább fogsz menni Fájl> Új> Töredék. A MainActivity.java-t bal oldalon kell kiválasztani, amikor ezt megteszi, és most egy „üres” fragmenst választ. Ezután kiválaszthatja a nevét az új alkotásnak, amelyet „Leírásnak” hívunk. Jelölje be a két dobozt az alsó részből - erre most nincs szükségünk.

Ha ez megtörtént, akkor most már nemcsak egy új Java fájlt, az úgynevezett Description.java nevű fájlt használja, hanem egy új elrendezési fájlt is, a fragment_description.xml néven - mintha új osztályt hozott volna létre! Ez azt jelenti, hogy az új töredékkel járó kódot a saját különálló Java fájlba fogja helyezni.

Elrendezések, nézetek és kód hozzáadása

A jó hír az, hogy nagyon könnyű számokat és elrendezést hozzáadni, ha fragmentumokat használunk. Ezt ugyanúgy fogjuk megtenni, mint általában: a fragment_timer.xml szerkesztésével.

Használjunk ismét egy lineáris elrendezést, és ezúttal adjunk hozzá néhány vezérlőt és leíró szöveget. Most bármit itt ragaszthat.

Tehát most a következő kérdés: hogyan állíthatja be ezt valójában az alkalmazásban?

Ezt megteheti úgy, hogy a fragmenst hozzáadja a tevékenységhez, ugyanúgy, mint bármely más nézetet. Tehát lépjen a tevékenység_main.xml oldalra, és add hozzá a nézetet úgy, hogy a képernyő egy részét elfoglalja - talán az alján.

Ha úgy akarod csinálni, ahogy én tettem, akkor egy függőleges lineáris elrendezést használtam, és az összes képnek 1-es súlyt, és a töredéknek 2-es súlyát adtam.

Észre fogja venni, hogy az előnézet nem a tényleges töredéket mutatja, hanem csak egy helyőrzőt. Hasonlóképpen, vegye figyelembe, hogy a töredék nevét is fel kellett vennem az XML-be, hogy az Android tudja, hol található. Minden töredékhez azonosítóra van szüksége.

A kód

Ahogy már tárgyaltuk, a kódok, amelyeket fragmensek használatához használunk, a saját java fájljukba kerülnek. Ebben az esetben ez a Description.java fájl.

Ha megnézi ezt az oldalt, látni fogja, hogy van konstruktor (csakúgy, mint bármely objektumot létrehozó osztálynál) és egy módszer, onCreateView. Ebben az esetben az xml-t használják fel a nézet felfújásához, és ez szintén megfelel a szokásosnak onCreate módszer egy standard tevékenységben.

Leginkább itt végezhet olyan dolgokat, mint általában. findViewByID működik, és ezt felhasználhatja a szöveg megváltoztatására stb., de a referenciát kissé másképp kell megszereznie. Változtassa meg a következő sort:

visszatérő inflater.inflate (R.layout.fragment_description, konténer, hamis);

Nak nek:

Nézet v = inflater.inflate (R.layout.fragment_description, konténer, hamis);

És akkor használja:

v.findViewByID.

Most a szokásos módon hozzáférhet a nézeteihez:

nyilvános View onCreateView (LayoutInflater inflater, ViewGroup tároló, Bundle savedInstanceState) {View v = inflater.inflate (R.layout.fragment_description, konténer, hamis); Gomb okButton = v.findViewById (R.id.rendben) ;; Gomb shareButton = v.findViewById (R.id.Ossza meg); okButton.setOnClickListener (új View.OnClickListener () {public void onClick (View v) {Toast.makeText(getActivity (), "OK!", pirítós.LENGTH_LONG ).előadás(); }}); shareButton.setOnClickListener (új View.OnClickListener () {public void onClick (View v) {Toast.makeText(getActivity (), "Sharing ...", Toast.LENGTH_LONG ).előadás(); }}); return v; }}

Használjon töredékeket többszörös példányokkal

Láthatja, hogy sokkal könnyebb létrehozni egy egyszerűsített felhasználói felületet és kódot, ha fragmentumokat használunk. Ahelyett, hogy elrendezéseket használna az elrendezéseken belül, és sok kattintást zsonglőrne egyetlen Java fájlban. Ráadásul az, hogy ez a „moduláris” megközelítés lehetővé tenné, hogy ezt a nézetet tevékenységek során, akár a menükben és más dinamikus helyeken is felhasználhassa.

De a nagyon jó rész az a tény, hogy ugyanazon töredéknek több példánya is létezhet, egyidejűleg létezve.

Ehhez egyszerű: csak egy nézetet kell hozzáadnia, és pontosan ugyanazzal a kóddal kell felfújnia.

Remélhetőleg most már látni fogja a töredékek használatának hatalmát: Képzelje el, hogy rendelkezik egy Újrahasznosító nézettel (egy gördítõ lista), amelynek mindegyikében megtalálhatók a részletek és a kezelõszervek. Nem kell minden alkalommal teljesen új elrendezést készíteni, és el lehet rejteni a nézeteket mindaddig, amíg a felhasználó rákattint a képre!

Sőt, az is, hogy programozottan új fragmentumokat is létrehozhat. Csak annyira van szüksége, hogy valahol a töredék belekerüljön az elrendezésbe - például egy képkeret-elrendezéshez (amelyet felhívok fragmentTarget), majd megteheti a következőket:

Részlet hozzáadvaFragment = új Leírás (); FragmentTransaction tranzakció = getSupportFragmentManager (). transaction.replace (R.id.fragmentTarget, hozzáadott fragmentum); transaction.addToBackStack (null); transaction.commit ();

Győződjön meg arról, hogy importálja a szükséges osztályokat - minden egyes alkalommal megkérdezi a töredékeket a kódjában. Csak győződjön meg arról, hogy a „v4” feliratú legfelső lehetőséget választotta.

A töredékek programozható hozzáfűzése fontos, mivel ez azt jelenti, hogy elkészíthetünk egy dinamikus képet a képekről (amelyeket letöltöttünk, amelyek egy adott mappában találhatók stb.), Majd azonnal megjeleníthetjük a részleteket.

Tehát ebben az új példában a második töredéket programozottan adták hozzá.

Végül előfordulhat, hogy meg akarja változtatni fragmenseinek megjelenését attól függően, hogy hol vannak. A jó hír az, hogy ezt egyszerűen megteheti, ha egy azonosítót csomagként továbbít, amikor létrehozza a töredéket, majd kibontja ezt az értéket a másik végéből.

A MainActivity.java használata:

Kötegcsomag = új csomag (); bundle.putInt ("ID", 1); addedFragment.setArguments (köteg);

Aztán a Leírás.java-ban adjunk hozzá:

int eyeD = 0; Csomag csomag = this.getArguments (); if (köteg! = null) {eyeD = bundle.getInt ("ID", 0); } kapcsoló (eyeD) {1. eset:…

Ezután - például - megszerezheti alkalmazását, hogy az egyes képekhez különböző megjegyzéseket jelenítsen meg.

Záró megjegyzések

Tehát így használja a töredékeket. Remélhetőleg megértette az alapokat, és ez a bejegyzés elég megértést adott neked, hogy továbbléphessen, és kitalálhassa a többit. Ennél is fontosabb, remélem, hogy megmutatta neked a fragmentumok lehetséges felhasználási lehetőségeit, valamint az okosabb alkalmazástervezésben rejlő lehetőségeket.

Ha még egy példát szeretne látni a működésben lévő fragmensekről, akkor nézd meg az egyéni indító létrehozásáról szóló legutóbbi bejegyzésem!

Android fejlesztés:

  • Hogyan hozhat létre VR-alkalmazást Androidra mindössze 7 perc alatt
  • Készítse el saját tevékenységét a Google Assistant számára
  • Root Android: Minden, amit tudnod kell!
  • Egy alkalmazás anatómiája: Bevezetés az életciklusokhoz
  • Android Jetpack: Mit jelent a legutóbbi bejelentések az Android támogatási könyvtárában?

A Google Pixel 3 javítáai kié rémálom voltak az ezköz 2018 októberében történő bevezetée óta. A Pixel é a Pixel 2-vel ellentétben ...

A Google Pixel 3 orozat a zámítógépe fényképezéhez zükége hiteleítő adatainak közönhetően elnyerte a gongot a Legjobb Android 2018 díjb...

Lenyűgöző Kiadványok