Kuinka käyttää fragmentteja Android-sovelluksissa tehokkaaseen ja dynaamiseen käyttöliittymään

Kirjoittaja: John Stephens
Luomispäivä: 28 Tammikuu 2021
Päivityspäivä: 19 Saattaa 2024
Anonim
Kuinka käyttää fragmentteja Android-sovelluksissa tehokkaaseen ja dynaamiseen käyttöliittymään - Sovellukset
Kuinka käyttää fragmentteja Android-sovelluksissa tehokkaaseen ja dynaamiseen käyttöliittymään - Sovellukset

Sisältö


Huomaa: Tässä artikkelissa oletetaan, että tunnet Android-kehityksen ja Java-tekniikan perusteet. Sinun pitäisi jo pystyä luomaan perusasettelut ja käyttämään näkymiä, klikkaamalla ja findViewByID. Jos ymmärrät nämä käsitteet, olet valmis oppimaan käyttämään katkelmia!

Fragmentit ovat tehokkaan ominaisuuden hyvästä Android-käyttöliittymästä, joiden avulla voit lähestyä sovelluksen suunnittelua modulaarisesti. Nämä ovat erillisiä näkymiä, jotka voivat sisältää kokonaisia ​​asetteluja ja jotka toimitetaan niiden mukana olevan Java-koodin mukana. Hajottamalla käyttöliittymäsi tällä tavalla, voit luoda loogisempia asetteluja, jotka käyttäjien on helpompi ymmärtää. Voit antaa heille lisätietoja ja hallintalaitteita ilman, että heidän on poistuttava toiminnasta.


Katso myös: vaivatonta fragmentteja: Androidin navigointiarkkitehtuurikomponentin käyttäminen

Fragmentit antavat sinulle huomattavasti enemmän vaihtoehtoja sovelluksen suunnittelussa ja voivat parantaa käyttökokemusta huomattavasti

Lisäksi fragmentit toimivat luokkien ja esineiden tapaan, koska sinulla voi olla useita tapauksissa samasta fragmentista. Tämä tarkoittaa, että voit käyttää samaa asettelua uudestaan ​​ja uudestaan ​​tarvitsematta kirjoittaa koodia tai edes näyttää kahta eri versiota vierekkäin.

Lyhyesti sanottuna, vaikka tämä on vielä toinen oppimistapa, kun kyse on näennäisesti loputtomasta Android-sovelluksiin liittyvästä tehtäväluettelosta, se voi antaa sinulle huomattavasti enemmän vaihtoehtoja sovelluksen suunnittelussa ja parantaa käyttökokemusta huomattavasti - tekemällä siitä enemmän kuin tutustumiseen käytetyn ajan arvoinen .


Kuinka rakentaa ensimmäinen Android-fragmenttisi

Joten mitä voimme tehdä fragmentteihin, joilla ei olisi mitään muuta merkitystä?

Ehkä meillä on luettelo tiedostoista - ehkä tämä on kuvagalleria - ja haluamme näyttää kuvauksen ja antaa käyttäjälle mahdollisuuden poistaa tai jakaa. Tällainen asia. Voisimme lähettää ne uudelle ”Kuvaus” -sivulle joka kerta käyttämällä erillistä toimintaa, mutta jos käytät katkelmia, voimme pitää ne yhdellä sivulla, joka on vähemmän turmeltunut.

Avaa Android Studio ja luo luettelo satunnaisista kuvista activity_main.xml. Käytän kuvia Dragon Ball Super koska olen nörtti ja se on mitä makaa tietokoneellani ...

Nyt luomme ensimmäisen fragmenttimme.

Voit tehdä tämän, aiot suunnata Tiedosto> Uusi> Fragmentti. MainActivity.java on valittava vasemmalla, kun teet tämän, ja valitset nyt tyhjän fragmentin. Tämän jälkeen voit valita nimen uudelle luomukselle, jota kutsumme nimellä Kuvaus. Irrota kaksi laatikkoa alla - me emme tarvitse sitä juuri nyt.

Kun tämä on tehty, löydät nyt, että sinulla ei ole vain uusi Java-tiedosto, nimeltään Description.java, vaan myös uusi asetustiedosto, nimeltään fragment_description.xml - aivan kuin olisit luonut uuden luokan! Tämä tarkoittaa, että sijoitat uuden fragmentin mukana tulevan koodin omaan erilliseen Java-tiedostoon.

Asettelujen, näkymien ja koodin lisääminen

Hyvä uutinen on, että meille on erittäin helppo lisätä näkymiä ja asettelua, kun käytämme katkelmia. Teemme tämän aivan kuten normaalisti muokaamalla fragment_timer.xml.

Käytämme taas lineaarista asettelua ja lisäämme tällä kertaa joitain säätimiä ja kuvaavaa tekstiä. Voit kiinnittää mitä tahansa tähän toistaiseksi.

Joten seuraava kysymys on: miten saada se todella näkymään sovelluksessasi?

Voit tehdä tämän lisäämällä fragmentin toimintaan, aivan kuten tekisit mitä tahansa muuta näkymää. Joten siirry aktiviteettiin_main.xml ja lisää näkymä niin, että se vie osan näytöstä - ehkä alaosasta.

Jos haluat tehdä sen kuten tein, käytin pystysuoraa lineaarista asettelua ja annoin kaikkien kuvien painoon 1 ja fragmentin painoon 2.

Huomaat, että esikatselussa ei näytetä todellista fragmenttia, vaan vain paikan haltija. Samoin huomaa, että minun on pitänyt sisällyttää fragmentin nimi XML-tiedostoon, jotta Android tietää mistä se löytyy. Tarvitset myös tunnuksen jokaisesta fragmentista.

Koodi

Kuten keskusteltiin, fragmentit, joita tarvitsemme käyttämään koodia menee omassa Java-tiedostossaan. Tässä tapauksessa se on Description.java-tiedosto.

Jos tarkistat tämän sivun, huomaat, että siellä on rakentaja (aivan kuten missä tahansa luokassa, joka luo objektin) ja menetelmä nimeltä onCreateView. Tässä menetelmässä xml: tä käytetään kyseisen näkymän paisuttamiseen, ja se vastaa myös tavallista onCreate menetelmä tavanomaisessa toiminnassa.

Suurimmaksi osaksi voit tehdä asioita kuten normaalisti täällä. findViewByID toimii ja voit käyttää tätä muuttaa tekstiä jne., mutta viite on saatava hieman eri tavalla. Vaihda rivi, joka kuuluu:

paluu inflater.inflate (R.layout.fragment_description, kontti, väärä);

To:

Näytä v = inflater.inflate (R.layout.fragment_description, kontti, väärä);

Ja sitten käytä:

v.findViewByID.

Nyt voit käyttää näkemyksiäsi normaalisti:

julkinen View onCreateView (LayoutInflater - täyttö, ViewGroup - säilö, Bundle SaveInstanceState) {Näytä v = inflater.inflate (R.layout.fragment_description, kontti, väärä); Painike okButton = v.findViewById (R.id.kunnossa) ;; Button shareButton = v.findViewById (R.id.Jaa); okButton.setOnClickListener (uusi View.OnClickListener () {public void onClick (View v) {Toast.makeText(getActivity (), "OK!", paahtoleipä.LENGTH_LONG ).show(); }}); shareButton.setOnClickListener (uusi View.OnClickListener () {public void onClick (View v) {Toast.makeText(getActivity (), "Sharing ...", Toast.LENGTH_LONG ).show(); }}); paluu v; }}

Käytä fragmentteja, joissa on useita kertoja

Voit nähdä, kuinka virtaviivaistetun käyttöliittymän ja koodin luominen on paljon helpompaa, kun käytämme fragmentteja. Sen sijaan, että käyttäisit ulkoasuja ulkoasuissa ja sunnittelisit sitten paljon napsautuksia yhdessä Java-tiedostossa. Lisäksi on, että tämä "modulaarinen" lähestymistapa mahdollistaisi sinun käyttää tätä näkymää kaikissa toiminnoissa ja jopa valikoissa ja muissa dynaamisissa paikoissa.

Mutta todella hieno osa on se, että sinulla voi olla useita esiintymiä tästä samasta fragmentista, jotka kaikki ovat olemassa samanaikaisesti.

Tämä on helppoa: lisäät vain useita näkymiä ja paisutat täsmälleen samalla koodilla.

Nyt toivottavasti voit alkaa nähdä jonkin verran fragmenttien käyttöä: kuvittele, että sinulla on Recycler View (vieritysluettelo) kuvia, joissa jokaisessa on yksityiskohdat ja hallintalaitteet aivan alla. Sinun ei tarvitse luoda kokonaan uutta asettelua joka kerta, ja voit piilottaa näkymät, kunnes käyttäjä napsautti kuvaa!

Lisäksi voit luoda uusia fragmentteja myös ohjelmallisesti. Tarvitset vain jonnekin, jotta fragmentti voi siirtyä ulkoasuisi - kuten kehysasettelu (jota kutsun fragmentTarget) ja sitten voit tehdä seuraavat:

Fragmentti lisättyFragmentti = uusi kuvaus (); FragmentTransaction -tapahtuma = getSupportFragmentManager (). transaction.replace (R.id.fragmentTarget, lisätty fragmentti); transaction.addToBackStack (null); transaction.commit ();

Muista tuoda tarvittavat luokat - sinulta kysytään aina, kun yrität käyttää fragmentteja koodissasi. Varmista vain, että valitset ylävaihtoehdon, jossa lukee 'v4'.

Havaintojen lisääminen ohjelmallisesti on tärkeää, koska se tarkoittaa, että voimme luoda dynaamisen luettelon kuvista (jotka olemme ladanneet, jotka sijaitsevat tietyssä kansiossa jne.) Ja sitten saada yksityiskohdat näkyviin meille heti.

Joten tässä uudessa esimerkissä toinen fragmentti on lisätty ohjelmallisesti.

Lopuksi saatat löytää itsesi haluavan muuttaa fragmenttien ulkoasua riippuen siitä, missä ne sijaitsevat. Hyvä uutinen on, että voit tehdä tämän helposti lähettämällä tunnuksen nipuna, kun luot fragmentin ja purkaat sitten arvon toisesta päästä.

MainActivity.java -käytössä:

Bundle kimppu = uusi kimppu (); bundle.putInt ("ID", 1); addedFragment.setArguments (nippu);

Lisää sitten Description.java:

int eyeD = 0; Bundle kimppu = this.getArguments (); if (nippu! = nolla) {eyeD = bundle.getInt ("ID", 0); } kytkin (eyeD) {tapaus 1:…

Voit esimerkiksi saada sovelluksesi näyttämään erilaisia ​​muistiinpanoja jokaiselle kuvalle.

Päättävät kommentit

Joten näin käytät fragmentteja. Toivottavasti ymmärrät perusteet ja tämä viesti on antanut sinulle tarpeeksi ymmärrystä siitä, että voit mennä eteenpäin ja selvittää loput. Vielä tärkeämpää on, että toivon, että se on osoittanut sinulle joitain fragmenttien mahdollista käyttöä ja niiden tarjoamia mahdollisuuksia älykkäämpään sovellusten suunnitteluun.

Jos haluat nähdä toisen esimerkin toiminnassa olevista palasista, muista tarkistaa viimeaikainen viestini mukautetun kantoraketin luomisesta!

Android-kehitys:

  • Kuinka luoda VR-sovellus Androidille vain 7 minuutissa
  • Luo oma toimintosi Google Assistant -sovellukselle
  • Root Android: kaikki mitä sinun tarvitsee tietää!
  • Sovelluksen anatomia: Johdatus aktiviteetin elinkaareihin
  • Android Jetpack: Mitä viimeaikaiset ilmoitukset tarkoittavat Android-tukikirjastolle?

Google Fit on nyt saatavana iOS: ssä

Laura McKinney

Saattaa 2024

Google ilmoitti tänään, että Google Fit laajenee lopulta iPhoneihin. ovellu on nyt aatavana Apple App toreta (linkki alla).Aiemmin iO-käyttäjät pytyivät kä...

12. heinäkuuta 2019 12. heinäkuuta 2019Kunto-ovelluket voivat oua tai hukata - toiia on ominaiuudet liian täynnä ja ne edellyttävät oppimikäyrää, kun taa t...

Portaalin Artikkelit