Kuidas kasutada fragmente oma Androidi rakendustes võimsa ja dünaamilise kasutajaliidese jaoks

Autor: John Stephens
Loomise Kuupäev: 28 Jaanuar 2021
Värskenduse Kuupäev: 19 Mai 2024
Anonim
Kuidas kasutada fragmente oma Androidi rakendustes võimsa ja dünaamilise kasutajaliidese jaoks - Rakendused
Kuidas kasutada fragmente oma Androidi rakendustes võimsa ja dünaamilise kasutajaliidese jaoks - Rakendused

Sisu


Märkus. Selles artiklis eeldatakse, et olete tuttav Androidi arendamise ja Java põhitõdedega. Peaksite juba saama põhipaigutusi luua ja vaateid kasutada, onClick ja leidkeViewByID. Nendest mõistetest aru saades olete valmis õppima fragmentide kasutamist!

Killud on hea Androidi kasutajaliidese võimas funktsioon, mis võimaldab teil läheneda rakenduse kujundusele modulaarselt. Need on erinevad vaated, mis võivad sisaldada terveid paigutusi ja mis on kaasas oma kaasasoleva Java-koodiga. Sel viisil UI-d lahti muutes saate luua loogilisemaid paigutusi, mida kasutajatel on lihtsam mõista. Saate neile anda lisateavet ja juhtelemente, ilma et nad peaksid tegevusest lahkuma.

Vaadake ka: probleemivabad killud: Androidi navigeerimise arhitektuurikomponendi kasutamine

Killud annavad teile rakenduse kujundamisel märkimisväärselt rohkem võimalusi ja võivad kasutajakogemust märkimisväärselt parendada


Veelgi enam, fragmendid käituvad nagu klassid ja objektid, kuna teil võib olla mitu juhtumeid sama fragmendi. See tähendab, et saate sama paigutust ikka ja jälle uuesti kasutada, ilma et peaksite koodi ümber kirjutama või isegi näitaksite kahte erinevat versiooni kõrvuti.

Lühidalt, kuigi see on veel teine asi, mida õppida, kui tegemist on Androidi rakendustega seotud näiliselt lõputu ülesandeloendiga, võib see anda teile rakenduse kujundamisel märkimisväärselt rohkem võimalusi ja täiustada oluliselt kasutajakogemust - muuta see rohkem kui tutvumiseks kulutatud aja väärt .

Kuidas luua oma esimene Androidi fragment

Mida saaksime teha fragmentidega, millel poleks muud moodi mõtet?

Võib-olla on meil failide loend - võib-olla on see pildigalerii - ja tahame näidata kirjeldust ning anda kasutajale võimalus kustutada või jagada. Selline asi. Võiksime neid iga kord uuele kirjelduslehele saata, kasutades selleks eraldi toimingut, kuid kui kasutate fragmente, võime neid hoida ühel lehel, mis on vähem purunev.


Avage Android Studio ja looge juhuslike piltide loend tegevus_main.xml. Ma kasutan pilte Draakonipalli super sest ma olen nohik ja see on see, mille pärast ma leian oma arvutis ringi ...

Nüüd loome oma esimese fragmendi.

Selleks kavatsete minna Fail> Uus> Fragment. MainActivity.java tuleb seda tehes vasakul valida ja valite praegu tühja fragmendi. Seejärel saate valida uue loomingu nime, mida me nimetame kirjelduseks. Vabastage kaks kasti alt - meil pole seda praegu vaja.

Kui see on tehtud, leiate nüüd, et teil pole mitte ainult uus java-fail nimega Description.java, vaid ka uus paigutusfail nimega fragment_description.xml - just nagu oleksite loonud uue klassi! See tähendab, et paned uue fragmendiga kaasasoleva koodi eraldi java-faili.

Paigutuste, vaadete ja koodi lisamine

Hea uudis on see, et fragmentide kasutamisel on meil väga lihtne vaateid ja paigutust lisada. Teeme seda täpselt nagu tavaliselt, muutes fragmenti_timer.xml.

Kasutagem uuesti lineaarset paigutust ja lisage seekord mõned juhtelemendid ja kirjeldav tekst. Praegu võite siia midagi kleepida.

Nüüd on järgmine küsimus järgmine: kuidas te seda rakenduses näete?

Selle saate teha, lisades tegevusele fragmendi, nagu teeksite ka muud vaadet. Niisiis, minge tegevusala_main.xml ja lisage vaade nii, et see hõlmaks osa ekraanist - võib-olla allosas.

Kui soovite seda teha nii, nagu tegin, kasutasin vertikaalset lineaarset paigutust ja andsin kõigile piltidele kaalu 1 ja fragmendi kaalu 2.

Võite märgata, et eelvaade ei näita teile tegelikku fragmenti, vaid ainult kohahoidjat. Samuti pange tähele, et ma pidin lisama fragmendi nime XML-i, et Android teaks, kust seda leida. Samuti peate iga fragmendi jaoks ID-d.

Kood

Nagu arutatud, läheb kood, mida peame fragmentide kasutamiseks, oma java-faili. Sel juhul on see kirjeldus.java.

Kui vaatate selle lehe välja, näete, et seal on konstruktor (nagu igas klassis, mis loob objekti) ja meetod nimega saidil onCreateView. Selle meetodi puhul kasutatakse faili xml selle vaate suurendamiseks ja see on samaväärne teie tavapärasega onLoo meetod tavalises tegevuses.

Enamasti saate teha asju nii, nagu siin tavaliselt oleks. leidkeViewByID töötab ja saate seda kasutada teksti muutmiseks jne, kuid peate viite hankima pisut teisiti. Muutke loetavat rida:

tagasivoolu inflater.inflate (R.layout.fragmendi kirjeldus, konteiner, vale);

Saaja:

Vaade v = inflater.inflate (R.layout.fragmendi kirjeldus, konteiner, vale);

Ja siis kasutage:

v.findViewByID.

Nüüd pääsete oma vaadetele juurde nagu tavaliselt:

avalik vaade onCreateView'l (LayoutInflater inflater, ViewGroup konteiner, Bundle savedInstanceState) {View v = inflater.inflate (R.layout.fragmendi kirjeldus, konteiner, vale); Nupp okButton = v.findViewById (R.id.Okei) ;; Button shareButton = v.findViewById (R.id.Jaga); okButton.setOnClickListener (uus vaade.OnClickListener () {public void onClick (View v) {Toast.makeText(getActivity (), "OK!", röstsai.LENGTH_LONG ) .näita (); }}); shareButton.setOnClickListener (uus vaade.OnClickListener () {public void onClick (View v) {Toast.makeText(getActivity (), "Sharing ...", Toast.LENGTH_LONG ) .näita (); }}); tagasi v; }}

Kasutage korduvate eksemplaridega fragmente

Näete, kuidas fragmentide kasutamisel on sujuvama kasutajaliidese ja koodi loomine palju lihtsam. Selle asemel, et kasutada paigutusesiseseid paigutusi ja siis palju JavaScripti faile klõpsamisega žongleerida. Veelgi enam, see 'modulaarne' lähenemisviis võimaldab teil seda vaadet kasutada tegevuste ajal ja isegi menüüdes ning muudes dünaamilistes kohtades.

Kuid väga lahe osa on see, et teil võib olla mitu sama fragmendi eksemplari, kõik olemasolevad samal ajal.

Selle tegemine on lihtne: lisate lihtsalt mitu vaadet ja pumbate täpselt sama koodi abil.

Nüüd loodetavasti võite näha fragmentide kasutamise mõningaid võimalusi: kujutage ette piltide taaskasutaja vaadet (kerimisnimekirja), millel kõigil on üksikasjad ja juhtseadised all. Iga kord pole vaja luua täiesti uut paigutust ja võite vaateid peita, kuni kasutaja pildil klõpsab!

Veelgi enam, saate ka uusi fragmente genereerida programmiliselt. Kõik, mida vajate, on kuskil, et fragment läheks teie paigutusele - näiteks raami paigutus (mida ma nimetan fragmentTarget) ja siis saate teha järgmist:

Fragment lisatudFragment = uus kirjeldus (); FragmentTransaction tehing = getSupportFragmentManager (). BeginTransaction (); tehing.asenda (R.id.fragmentTarget, lisatudFragment); tehing.addToBackStack (null); tehing.commit ();

Importige kindlasti vajalikud klassid - teid küsitakse alati, kui proovite oma koodis fragmente kasutada. Valige lihtsalt ülemise valikuga v4.

Fragmentide programmilise lisamise võimalus on oluline, kuna see tähendab, et võime genereerida dünaamilise piltide loendi (mis oleme alla laadinud, asuvad konkreetses kaustas jne) ja seejärel kuvada üksikasjad kohe meie jaoks.

Niisiis, selles uues näites on teine ​​fragment programmiliselt lisatud.

Lõpuks võite leida soovi muuta oma fragmentide välimust sõltuvalt nende asukohast. Hea uudis on see, et saate seda hõlpsalt teha, kui fragmendi loomisel edastate ID-paketina komplekti ja ekstraheerite selle väärtuse teisest otsast.

Kasutage rakenduses MainActivity.java:

Kimpude kimp = uus kimp (); bundle.putInt ("ID", 1); lisatudFragment.setArguments (kimp);

Ja siis kirjelduses.java lisage:

int eyeD = 0; Kimpude kimp = this.getArguments (); if (kimp! = null) {eyeD = bundle.getInt ("ID", 0); } lüliti (eyeD) {juhtum 1:…

Seejärel võiksite näiteks oma rakenduse hankida, et see näitaks iga pildi jaoks erinevaid märkmeid.

Kommentaaride sulgemine

Niisiis kasutate fragmente. Loodetavasti mõistate põhitõdesid ja see postitus on andnud teile piisavalt mõistmist, et saate edasi minna ja ülejäänud välja mõelda. Veelgi olulisem on see, et ma loodan, et see on teile näidanud fragmentide mõnda võimalikku kasutamist ja nende pakutavat potentsiaali nutikamaks rakenduse kujundamiseks.

Kui soovite näha veel ühte näidet tegevuses olevatest fragmentidest, siis vaadake kindlasti minu hiljutist postitust kohandatud kanderaketi loomise kohta!

Androidi arendus:

  • Kuidas luua VR-i rakendus Androidi jaoks vaid 7 minutiga
  • Koostage oma tegevus Google Assistiri jaoks
  • Root Android: kõik, mida peate teadma!
  • Rakenduse anatoomia: sissejuhatus elutsüklitesse
  • Android Jetpack: mida tähendavad hiljutised teadaanded Androidi tugikogu jaoks?

CyberGhot teeb elle alutamie väga lihtak. Valige lihtalt tellimue tüüp, makevii ja ietage e-poti aadre. Kui make on lõpule viidud, aadetake ellele e-poti aadreile kautajanimi ja pa...

AA Picki armatame leida karjääri edendavad pakkumied. Tänane valik, küberturvaliue ertifiteerimie Mega Bundle, on uurepärane näide....

Populaarsuse Saavutamine