Turinys
- Kaip sukurti savo pirmąjį „Android“ fragmentą
- Maketų, rodinių ir kodo pridėjimas
- Kodas
- Naudokite fragmentus su daugybinėmis instancijomis
- Uždarymo komentarai
- „Android“ kūrimas:
Pastaba: šiame straipsnyje daroma prielaida, kad esate susipažinęs su „Android“ kūrimo ir „Java“ pagrindais. Jau turėtumėte mokėti kurti pagrindinius maketus ir naudoti rodinius, paspaudus ir „findViewByID“. Jei suvokiate šias sąvokas, esate pasirengęs išmokti naudoti fragmentus!
Fragmentai yra galinga geros „Android“ UI savybė, leidžianti pritaikyti programos dizainą moduliniu būdu. Tai yra atskiri vaizdai, kuriuose gali būti visi išdėstymai, ir kurie pateikiami kartu su savo „Java“ kodu. Tokiu būdu suskaidę vartotojo sąsają, galite sukurti logiškesnius išdėstymus, kuriuos vartotojams bus lengviau suprasti. Galite jiems suteikti papildomos informacijos ir valdiklių, neišėję iš veiklos.
Taip pat žiūrėkite: fragmentai be vargo: „Android“ navigacijos architektūros komponento naudojimas
Fragmentai suteikia žymiai daugiau programų dizaino galimybių ir gali žymiai pagerinti vartotojo patirtį
Be to, fragmentai veikia kaip klasės ir objektai, kuriuos galite turėti kelis atvejų to paties fragmento. Tai reiškia, kad jūs galite vėl ir vėl naudoti tą patį išdėstymą nereikia perrašyti kodo ar net parodyti dvi skirtingas versijas viena šalia kitos.
Trumpai tariant, kol tai dar yra kita dalykas, kurio reikia išmokti, kai atrodo, kad su „Android“ programomis susijęs be galo svarbus sąrašas darbų, tai gali suteikti jums žymiai daugiau programų kūrimo galimybių ir iš esmės pagerinti naudotojų patirtį - padaryti tai daugiau nei verta laiko, praleisto susipažįstant .
Kaip sukurti savo pirmąjį „Android“ fragmentą
Taigi, ką mes galime padaryti su fragmentais, kurie neturi prasmės kitaip?
Galbūt turime failų sąrašą - galbūt tai yra vaizdų galerija - ir norime parodyti aprašą bei suteikti vartotojui galimybę ištrinti ar bendrinti. Toks dalykas. Kiekvieną kartą galėtume nusiųsti juos į naują „Aprašymo“ puslapį naudodamiesi atskira veikla, tačiau jei naudosite fragmentus, galime juos laikyti tame pačiame puslapyje, kuris bus mažiau sugadintas.
Atidarykite „Android Studio“ ir sukurkite atsitiktinių vaizdų sąrašą veikla_main.xml. Aš naudoju nuotraukas iš Drakono rutulio super nes aš esu vėpla ir štai ką aš guliu prie savo kompiuterio ...
Dabar mes sukursime savo pirmąjį fragmentą.
Norėdami tai padaryti, jūs eisite į galvą Failas> Naujas> Fragmentas. „MainActivity.java“ reikia pasirinkti kairėje, kai tai padarysite, ir dabar pasirinksite „tuščią“ fragmentą. Tada galėsite pasirinkti naujo kūrinio pavadinimą, kurį vadinsime „Aprašu“. Nuimkite dvi dėžes po apačia - mums to dabar nereikia.
Tai atlikę, pamatysite, kad dabar turite ne tik naują „Java“ failą pavadinimu Description.java, bet ir naują išdėstymo failą pavadinimu fragment_description.xml - lygiai taip, lyg būtumėte sukūrę naują klasę! Tai reiškia, kad kodą, kuris pridedamas prie jūsų naujojo fragmento, įdėsite į savo atskirą „Java“ failą.
Maketų, rodinių ir kodo pridėjimas
Geros žinios yra tai, kad mums labai lengva pridėti rodinius ir maketą, kai naudojame fragmentus. Mes tai padarysime taip, kaip įprastai, redaguodami fragmentą_timer.xml.
Panaudosime dar kartą linijinį išdėstymą ir šį kartą pridėkite keletą valdiklių ir aprašomąjį tekstą. Šiuo metu čia galite klijuoti bet ką.
Taigi kitas klausimas yra: kaip padaryti, kad tai iš tikrųjų būtų rodoma jūsų programoje?
Tai galite padaryti pridėdami fragmentą prie veiklos, kaip ir darytumėte bet kurį kitą vaizdą. Taigi eikite į activity_main.xml ir pridėkite vaizdą taip, kad jis užimtų dalį ekrano - galbūt apačioje.
Jei norite tai padaryti taip, kaip aš, aš naudojau vertikalų linijinį išdėstymą ir visiems vaizdams suteikiau 1 svorį, o fragmentą - 2.
Pastebėsite, kad peržiūra nerodo tikrojo fragmento, o tik vietos laikiklį. Taip pat atkreipkite dėmesį, kad turėjau į XML įtraukti fragmento pavadinimą, kad „Android“ žinotų, kur jį rasti. Jums taip pat reikia kiekvieno fragmento ID.
Kodas
Kaip aptarta, kodas, kurį turime naudoti fragmentams, pateks į savo „Java“ failą. Tokiu atveju tai yra „Description.java“ failas.
Jei patikrinsite šį puslapį, pamatysite, kad yra konstruktorius (kaip ir bet kurioje klasėje, kuriančiame objektą) ir metodas vadinamas „onCreateView“. Taikant šį metodą xml naudojamas tam, kad padidintum tą rodinį, ir jis taip pat yra tavo įprasto atitikmuo onCreate metodas standartinėje veikloje.
Didžiąją dalį dalykų galite daryti taip, kaip įprasta. „findViewByID“ veikia ir jūs galite tai naudoti norėdami pakeisti tekstą ir tt, bet jums reikės gauti nuorodą šiek tiek kitaip. Pakeiskite šią eilutę:
grąžinti inflater.inflate (R.layout.fragmento aprašymas, konteineris, netikras);
Kam:
Peržiūra v = inflater.inflate (R.layout.fragmento aprašymas, konteineris, netikras);
Ir tada naudokite:
v.findViewByID.
Dabar galite pasiekti savo vaizdus kaip įprasta:
viešas vaizdas onCreateView („LayoutInflater“ pripūtimas, „ViewGroup“ talpykla, „Bundle savedInstanceState“) {View v = inflater.inflate (R.layout.fragmento aprašymas, konteineris, netikras); Mygtukas okButton = v.findViewById (R.id.Gerai) ;; Mygtukas shareButton = v.findViewById (R.id.Dalintis); „okButton.setOnClickListener“ (naujas „View.OnClickListener“) {public void onClick (View v) {Toast.makeText(„getActivity“), „Gerai!“, skrudinta duona.LENGTH_LONG ).Rodyti(); }}); „shareButton.setOnClickListener“ (nauja „View.OnClickListener“) {public void onClick (View v) {Toast.makeText(„getActivity“), „Bendrinimas ...“, Skrudinta duona.LENGTH_LONG ).Rodyti(); }}); grįžti v; }}
Naudokite fragmentus su daugybinėmis instancijomis
Galite pamatyti, kaip daug lengviau sukurti supaprastintą vartotojo sąsają ir kodą, kai mes naudojame fragmentus. Užuot naudoję maketus maketų viduje ir žongliruodami daugybę paspaudimų, darykite juos viename „Java“ faile. Be to, šis „modulinis“ požiūris leis jums naudoti šį vaizdą vykdant veiklą ir net meniu bei kitose dinamiškose vietose.
Tačiau tikrai šauni dalis yra tai, kad jūs galite turėti kelis to paties fragmento egzempliorius, visus egzistuojančius tuo pačiu metu.
Tai padaryti paprasta: tiesiog pridėkite daugiau nei vieną rodinį ir išpūskite tiksliai tuo pačiu kodu.
Dabar tikiuosi, kad galėsite pamatyti kai kurias fragmentų naudojimo galimybes: įsivaizduokite, kad vaizduojate „Recycler View“ (slenkantį sąrašą) vaizdų, kurių kiekvienas turi išsamią informaciją ir valdiklius. Nereikės kiekvieną kartą kurti visiškai naujo išdėstymo ir galėjote paslėpti rodinius, kol vartotojas spustelėjo paveikslėlį!
Be to, programiškai taip pat galite generuoti naujus fragmentus. Viskas ko jums reikia, kad fragmentas patektų į jūsų išdėstymą, pavyzdžiui, rėmelio išdėstymą (kurį aš pavadinsiu fragmentTarget) ir tada galėsite atlikti šiuos veiksmus:
Fragmentas pridėtasFragmentas = naujas aprašymas (); „FragmentTransaction“ operacija = getSupportFragmentManager (). transakcija.pakeisti (R.id.fragmentTarget, pridėtasFragmentas); Transakcija.addToBackStack (nulis); tehing.commit ();
Importuokite būtinas klases - būsite paraginti kaskart bandydami naudoti fragmentus savo kode. Tiesiog įsitikinkite, kad pasirinkote viršutinę parinktį „v4“.
Galimybė programiškai pridėti fragmentų yra labai svarbi, nes tai reiškia, kad galime sukurti dinamišką vaizdų (kuriuos atsisiuntėme, kurie yra tam tikrame aplanke ir tt) sąrašą ir tada nedelsdami pateikti mums informaciją.
Taigi, šiame naujame pavyzdyje antrasis fragmentas buvo pridėtas programiškai.
Galiausiai galite pastebėti, kad norite pakeisti savo fragmentų išvaizdą, atsižvelgiant į tai, kur jie yra. Geros žinios yra tai, kad tai galite lengvai padaryti perduodami ID kaip paketą, kai sukuriate fragmentą, o tada ištraukite tą vertę kitame gale.
„MainActivity.java“ naudokite:
Bundle pluoštas = naujas Bundle (); „bundle.putInt“ („ID“, 1); AddedFragment.setArguments (paketas);
Tada į „Description.java“ pridėkite:
int eyeD = 0; Bundle pluoštas = this.getArguments (); if (pluoštas! = nulis) {eyeD = bundle.getInt ("ID", 0); } jungiklis („eyeD“) {1 atvejis:…
Tada galėtumėte, pavyzdžiui, gauti programą, kad kiekvienam vaizdui būtų rodomos skirtingos pastabos.
Uždarymo komentarai
Taigi štai kaip jūs naudojate fragmentus. Tikimės, kad suprasite pagrindus ir šis įrašas suteikė pakankamai supratimo, kad galite eiti į priekį ir išsiaiškinti visa kita. Dar svarbiau, kad tikiuosi, kad jis jums parodė kai kuriuos galimus fragmentų naudojimo būdus ir galimybes, kuriuos jie teikia intelektualesniam programų dizainui.
Jei norite pamatyti kitą veikiančių fragmentų pavyzdį, būtinai peržiūrėkite mano naujausią įrašą apie pasirinktinio paleidimo priemonės sukūrimą!
„Android“ kūrimas:
- Kaip sukurti „VR“ programą „Android“ vos per 7 minutes
- Sukurkite savo „Google Assistant“ veiksmą
- Šakninis „Android“: viskas, ką reikia žinoti!
- Programos anatomija: Įvadas į gyvenimo ciklą
- „Android Jetpack“: ką naujausi pranešimai reiškia „Android“ palaikymo bibliotekai?