Kā izmantot fragmentus savās Android lietotnēs jaudīgai un dinamiskai lietotāja saskarnei

Autors: John Stephens
Radīšanas Datums: 28 Janvārī 2021
Atjaunināšanas Datums: 19 Maijs 2024
Anonim
Android Layout Design Tutorial |  Android UI Design Explained | Android Studio Tutorial | Edureka
Video: Android Layout Design Tutorial | Android UI Design Explained | Android Studio Tutorial | Edureka

Saturs


Piezīme: Šajā rakstā tiek pieņemts, ka esat iepazinies ar Android attīstības pamatiem un Java. Jums jau vajadzētu būt iespējai izveidot pamata izkārtojumus un izmantot skatus, onClick un atrastViewByID. Ja saprotat šos jēdzienus, esat gatavs iemācīties izmantot fragmentus!

Fragmenti ir jaudīga labas Android lietotāja saskarnes īpašība, kas ļauj moduļu veidā tuvināties lietotņu noformējumam. Šie ir atšķirīgi skati, kuros var būt ietverti veseli izkārtojumi, un kuriem ir savs pievienotais Java kods. Šādi sadalot savu lietotāja saskarni, jūs varat izveidot loģiskākus izkārtojumus, kas lietotājiem ir vieglāk saprotami. Jūs varat viņiem sniegt papildu informāciju un vadīklas, neizejot no aktivitātes.

Skatīt arī: fragmenti bez problēmām: Izmantojot Android navigācijas arhitektūras komponentu

Fragmenti piešķir jums ievērojami vairāk iespēju lietotnes dizainā un var ievērojami uzlabot lietotāju pieredzi

Turklāt fragmenti darbojas tāpat kā klases un objekti, jo jums var būt vairāki gadījumi no tā paša fragmenta. Tas nozīmē, ka jūs varat atkal un atkal izmantot to pašu izkārtojumu, nepārrakstot kodu vai pat parādot divas dažādas versijas blakus.


Īsāk sakot, kamēr tas vēl ir cits Jāapgūst lieta, kas attiecas uz šķietami nebeidzamo ar Android lietotnēm saistīto sarakstu, tas ir kaut kas tāds, kas var dot jums ievērojami vairāk iespēju savas lietotnes noformējumā un būtiski uzlabot lietotāju pieredzi - padarot to vairāk, nekā vērts pavadīt laiku, kas pavadīts iepazīstoties .

Kā izveidot savu pirmo Android fragmentu

Tātad, ko mēs varētu darīt ar fragmentiem, kuriem nebūtu jēgas citādi?

Varbūt mums ir failu saraksts - varbūt šī ir attēlu galerija - un mēs vēlamies parādīt aprakstu un dot lietotājam iespēju izdzēst vai koplietot. Tāda lieta. Mēs tos katru reizi varētu nosūtīt uz jaunu “Apraksts” lapu, izmantojot atsevišķu darbību, taču, ja jūs izmantojat fragmentus, mēs varam tos turēt vienā lapā, kas būs mazāk kaitīga.

Atveriet Android Studio un izveidojiet nejaušu attēlu sarakstu aktivitāte_main.xml. Es izmantoju bildes no Pūķa bumba super jo es esmu nerd, un tieši to es arī guļu pie sava datora ...


Tagad mēs izveidosim savu pirmo fragmentu.

Lai to izdarītu, jums jādodas uz Fails> Jauns> Fragments. MainActivity.java jāizvēlas kreisajā pusē, kad to darāt, un tagad jūs izvēlēsities “tukšu” fragmentu. Pēc tam jūs varēsit izvēlēties nosaukumu jaunizveidotajam izstrādājumam, kuru mēs sauksim par “Apraksts”. Atvienojiet abas kastes zem tām - mums tas šobrīd nav vajadzīgs.

Kad tas būs izdarīts, jūs atradīsit, ka tagad jums ir ne tikai jauns java fails ar nosaukumu Description.java, bet arī jauns izkārtojuma fails ar nosaukumu fragment_description.xml - tieši tāpat, it kā jūs būtu izveidojis jaunu klasi! Tas nozīmē, ka kodu, kas pievienots jaunajam fragmentam, jūs ievietosit atsevišķā java failā.

Izkārtojumu, skatu un koda pievienošana

Labā ziņa ir tā, ka mums ir ļoti viegli pievienot skatus un izkārtojumu, kad mēs izmantojam fragmentus. Mēs to darīsim tāpat kā parasti, rediģējot fragmentu_timer.xml.

Atkal izmantosim lineāru izkārtojumu, un šoreiz pievienojiet dažas vadīklas un aprakstošo tekstu. Pagaidām šeit varat kaut ko pielīmēt.

Tāpēc tagad ir nākamais jautājums: kā jūs to faktiski parādāt savā lietotnē?

To var izdarīt, aktivitātei pievienojot fragmentu, tāpat kā jūs darītu jebkuru citu skatu. Tāpēc dodieties uz activity_main.xml un pievienojiet skatu tā, lai tas aizņemtu ekrāna daļu - iespējams, apakšā.

Ja vēlaties to darīt tā, kā es darīju, es izmantoju vertikālu lineāru izkārtojumu un visiem attēliem devu svaru 1 un fragmenta masai 2.

Jūs pamanīsit, ka priekšskatījumā netiek parādīts faktiskais fragments, tas ir tikai vietas turētājs. Tāpat ievērojiet, ka man bija jāiekļauj fragmenta nosaukums XML, lai Android zinātu, kur to atrast. Katram fragmentam ir nepieciešams arī ID.

Kods

Kā apspriests, kods, kas mums jāizmanto, lai iegūtu fragmentus, tiks ievietots savā java failā. Šajā gadījumā tas ir apraksts.java fails.

Pārbaudot šo lapu, jūs redzēsit, ka ir konstruktors (tāpat kā jebkurā klasē, kas rada objektu) un metode ar nosaukumu vietnē onCreateView. Šajā metodē xml tiek izmantots, lai palielinātu šo skatu, un tas ir arī līdzvērtīgs jūsu parastajam onCreate metode standarta darbībā.

Lielākoties jūs varat darīt lietas, kā parasti darītu šeit. atrastViewByID darbojas, un jūs to varat izmantot, lai mainītu tekstu utt., bet atsauce būs jāsaņem nedaudz savādāk. Mainiet rindiņu, kas skan:

atgriešanās inflater.inflate (R.layout.fragmenta apraksts, konteiners, viltus);

Kam:

Skats v = inflater.inflate (R.layout.fragmenta apraksts, konteiners, viltus);

Pēc tam izmantojiet:

v.findViewByID.

Tagad jūs varat piekļūt saviem skatiem kā parasti:

publisks skats onCreateView (izkārtojums LayoutInflater, konteiners ViewGroup, pakete SaveInstanceState) {View v = inflater.inflate (R.layout.fragmenta apraksts, konteiners, viltus); Poga okButton = v.findViewById (R.id.labi) ;; Button shareButton = v.findViewById (R.id.Dalies); okButton.setOnClickListener (jauns View.OnClickListener () {public void onClick (View v) {Toast.makeText(getActivity (), "OK!", tosts.LENGTH_LONG ) .show (); }}); shareButton.setOnClickListener (jauns View.OnClickListener () {public void onClick (View v) {Toast.makeText(getActivity (), "Sharing ...", Toast.LENGTH_LONG ) .show (); }}); atgriešanās v; }}

Izmantojiet fragmentus ar vairākiem gadījumiem

Jūs varat redzēt, kā daudz vienkāršāk ir izveidot racionalizētu lietotāja saskarni un kodu, ja mēs izmantojam fragmentus. Tā vietā, lai izmantotu izkārtojumus, kas atrodas izkārtojumos, un pēc tam daudzos klikšķos žonglē vienā Java failā. Vēl vairāk, ka šī “modulārā” pieeja ļaus jums izmantot šo skatu visās darbībās un pat izvēlnēs un citās dinamiskās vietās.

Bet patiesi foršā daļa ir tā, ka jums var būt vairāki šī paša fragmenta gadījumi, kas visi pastāv vienlaikus.

To izdarīt ir vienkārši: jūs vienkārši pievienojat vairāk nekā vienu skatu un piepūšat ar tieši tādu pašu kodu.

Tagad, cerams, jūs varat sākt redzēt daļu no fragmentu izmantošanas iespējām: iedomājieties, ka jums ir attēlu pārstrādātāja skats (ritinošs saraksts), katram no tiem ar detalizētu informāciju un vadības ierīcēm tieši zem tā. Nevajadzētu katru reizi izveidot pilnīgi jaunu izkārtojumu, un skatījumus varēja slēpt, līdz lietotājs noklikšķināja uz attēla.

Vēl vairāk, ka jaunus fragmentus var ģenerēt arī programmatiski. Viss, kas jums nepieciešams, ir kaut kur, lai fragments nonāktu jūsu izkārtojumā, piemēram, rāmja izkārtojumā (ko es saukšu fragmentTarget) un pēc tam jūs varat rīkoties šādi:

Pievienots fragmentsFragments = jauns apraksts (); FragmentTransaction transakcija = getSupportFragmentManager (). darījums.aizstāt (R.id.fragmentTarget, pievienotsFragments); transakcija.addToBackStack (nulle); transakcija.commit ();

Pārliecinieties, ka esat importējis nepieciešamās klases - jums tiks piedāvāts ikreiz, kad mēģināsit kodos izmantot fragmentus. Tikai pārliecinieties, ka esat izvēlējies labāko variantu “v4”.

Spēja programmatiski pievienot fragmentus ir svarīga, jo tas nozīmē, ka mēs varētu ģenerēt dinamisku attēlu sarakstu (kurus esam lejupielādējuši, tie atrodas noteiktā mapē utt.) Un tad mums nekavējoties parādīsies informācija.

Tātad šajā jaunajā piemērā programmatiski ir pievienots otrais fragments.

Visbeidzot, iespējams, vēlēsities mainīt savu fragmentu izskatu atkarībā no tā, kur tie atrodas. Labā ziņa ir tā, ka to var viegli izdarīt, nododot ID kā paketi, kad izveidojat fragmentu, un pēc tam šo vērtību iegūstot otrā galā.

Vietnē MainActivity.java izmantojiet:

Paketes saišķis = jauns saišķis (); bundle.putInt ("ID", 1); AddedFragment.setArguments (pakete);

Pēc tam aprakstā.java pievienojiet:

int eyeD = 0; Paketes saišķis = this.getArguments (); if (saišķis! = nulle) {eyeD = bundle.getInt ("ID", 0); } slēdzis (eyeD) {1. gadījums:…

Pēc tam jūs, piemēram, varētu iegūt lietotni, lai katram attēlam parādītu dažādas piezīmes.

Noslēguma komentāri

Tātad šādā veidā jūs izmantojat fragmentus. Cerams, ka jūs sapratīsit pamatus, un šis ieraksts jums deva pietiekamu izpratni, ka varat iet uz priekšu un izdomāt pārējo. Vēl svarīgāk, es ceru, ka tas jums parādīja dažus iespējamos fragmentu izmantošanas veidus un potenciālu, ko tie piedāvā viedākam lietotņu dizainam.

Ja vēlaties redzēt citu darbību fragmentu piemēru, noteikti apskatiet manu neseno ierakstu par pielāgota palaidēja izveidi!

Android izstrāde:

  • Kā izveidot VR lietotni Android tikai 7 minūtēs
  • Veidojiet savu darbību Google palīgam
  • Saknes Android: viss, kas jums jāzina!
  • Lietotnes anatomija: ievads aktivitātes dzīves ciklā
  • Android Jetpack: ko jaunākie paziņojumi nozīmē Android atbalsta bibliotēkai?

Ja jū meklējat alternatīvu Fitbit Charge 3 vai Fitbit Inpire HR, apveriet Garmin Vivomart 4.Lai arī izkat ir nedaudz mīlīg, šī ierīce to viu ir ieguvui. Vivomart 4 piedāvā fantatiku miega rādītāju, in...

Fitbit, ka šobrīd ir vien no vipazītamākajiem noaukumiem fitnea izekošana paaulē, šobrīd pārdošanā ir eptiņi dažādi izekotāji. Kura no tām ir vilabākā Fitbit ierīce jum? Vai jum vajadzētu izvēlētie kā...

Skaties