- androiden app udvikling for begyndere: navigation øje

, hvis du udvikler en androide app med flere skærme, en stor navigation mulighed er øje.tabs er særlig nyttigt, hvis skærmen er på et lignende hierarki, f.eks. ved at stille forskellige opfattelser af tilsvarende oplysninger.hvis du har en meget hierarkiske struktur, øje kan gøre mindre logisk og du foretrækker måske at klikke på dybere ned i aktivitet.,,, da androide 3,0, er den foretrukne måde at gøre det på er ved hjælp af dele, link.fragmenter giver dig mulighed for at bryde din virksomhed op til modulopbygget stykker, så du kan kombinere og genbrug af flere fragmenter i flere aktiviteter.du kan tænke på et stykke som en form for de aktiviteter, der forvaltes i en del af deres hovedaktivitet.vi vil ikke gå ind på ved hjælp af dele i detaljer her, men vi vil se på, at anvende dem til at oprette en grundlæggende tabbed app.,, app og layout fælde, skaber et nyt projekt, tabtest i formørkelse, huske på, at det skal være målrettet mod androide 3 eller derover.- jeg plejede 4.0.3.) sørge for, at du bruger "med foranstaltninger bar" tema.,, vores vigtigste aktivitet, tabtestactivity, opstiller den actionbar:,, offentlige klasse tabtestactivity udvider aktivitet (actionbar.tab tab1, tab2, tab3; fragment fragmenttab1 = nye fragmenttab1(); fragment fragmenttab2 = nye fragmenttab2(); fragment fragmenttab3 = nye fragmenttab3(); beskyttede tomrum oncreate (bundt savedinstancestate) (super. oncreate (savedinstancestate); setcontentview (r.layout. activity_tab_test); actionbar actionbar = getactionbar(); actionbar. setnavigationmode (actionbar. navigation_mode_tabs); tab1 = actionbar. newtab(). settext ("1"); tab2 = actionbar. newtab(). settext ("2");ab3 = actionbar. newtab(). settext ("3"); tab1. settablistener (nye mytablistener (fragmenttab1)); tab2. settablistener (nye mytablistener (fragmenttab2)); tab3. settablistener (nye mytablistener (fragmenttab3)); actionbar. addtab (tab1); actionbar. addtab (tab2); actionbar. addtab (tab3)), actionbar.tab er, som man kunne forvente, en regning i aktion bar, og vi skaber tre af dem.vi skaber også tre brudstykker til at holde indholdet af vores tre tekniske vurderingsorganer.vi vil skabe fragmenttab underklasser i et øjeblik.,, har vi oprettet opstilling som sædvanlig (se næste afsnit for xml), tag actionbar, og der blev i navigationstilstand for øje.den anden navigation transportformer er liste, som indeholder en liste over menu, og standard (kun har en "hjem" logo og afsnit tekst).vi må skabe nye tekniske vurderingsorganer i actionbar, tildele dem til vores actionbar. regning klasse medlemmer, og fastsætter afsnit tekst for hver enkelt.du kan også bruge, seticon (r.drawable. image), at sætte et billede ikon i stedet.,, og endelig, at vi skaber en ny tablistener for en hver, og så kommer alle tre til actionbar.en tablistener giver en callback - grænseflade til at håndtere aktioner, der gælder for øje, herunder at rette dem, lægge dem, eller fjerne dem.actionbar.tablistener er en grænseflade, så vi bliver nødt til at gennemføre det med den sædvane, mytablistener klasse.,, bemærk, at vi bruger, android.app.fragment, (ikke - androiden. app. v4. støtte. del). skal vi også edit androidmanifest.xml at fastsætte den mindste sdk til 13.,, at skabe de tekniske vurderingsorganer,, efter at have skrevet den vigtigste aktivitet, er vi nødt til at skabe det tekniske vurderingsorgan klasser.fragmenttab1.java ser sådan ud:,, offentlige klasse fragmenttab1 udvider fragment {offentlige mening oncreateview (layoutinflater inflater, viewgroup container, bundt savedinstancestate) (betragtning = inflater. puste (r.layout.tab, beholder, falske); textview textview = (textview) synspunkt. findviewbyid (r.id.tabtextview); textview. settext (r.string.); tilbage betragtning;}}, denne klasse skal udvide fragment, som det behandles som et brudstykke ved beregningen af actionbar.det er ret ligetil, for det meste bare gøre dens indretning.- satte vi også indholdet af textview (du skal redigere værdier /strings.xml, i overensstemmelse hermed at give denne streng ressourcer).du kunne også gøre andre ændringer til de tab, som f.eks. baggrundsfarve,.,, fragmenttab2.java og fragmenttab3.java næsten er identiske bortset fra tekststrengen vil være, r.string.two, og r.string.three hhv.du vil opdage, at den kunne bruge lidt af refactoring at undgå kode gentagelse.du kunne oprette fragmenter at bruge teksten tråde som argument for en formue, men det ligger uden for omfanget af denne forelæsning.), at tablistener, den sidste rest af aktiv kode, før vi går på xml - filer er mytablistener klasse:,, offentlige klasse mytablistener gennemfører actionbar.tablistener (et fragment. offentlige mytablistener (et fragment) (this.fragment = fragment;} offentlige tomrum ontabselected (regning regning, fragmenttransaction ft) (ft.replace (r.id.fragment_container, brudstykke)} offentlige tomrum ontabunselected (regning regning, fragmenttransaction ft) (ft.remove (del);} offentlige tomrum ontabreselected (regning regning, fragmenttransaction ft) (//intet gjort her.), fragmenttransaction giver api til forskellige fragment - operationer.hvert sæt ændringer til et fragment i din virksomhed (fjernelse af det og erstatte den med en anden bestanddel, idet det osv.) er en transaktion og forvaltes af fragmenttransaction.og giver dig til at udføre en række ændringer på én gang, du kan også tilføje transaktioner til ryggen stak, som gør det muligt for brugerne at navigere baglæns gennem de ændringer, de har foretaget.men i dette tilfælde har vi ikke direkte forvaltning af transaktioner, os, bare tilføje noget til en transaktion, som den primære aktivitet (og actionbar) vil lykkes for os. så for hver callback lytteren fanger, tilføjer den relevante transaktion til fragmenttransaction bestod i på det tidspunkt.hvis det tekniske vurderingsorgan, udvælges, det nuværende stykke erstatter den gamle i fragment container, og hvis det er ikke - selekterede, det er fjernet.dette kunne naturligvis være meget mere kompliceret, hvis dit kodeks kræver det.,, layout, under skrevet koden, er vi nødt til at skabe vores xml - skemaer.de vigtigste layout, activity_tab_test. xml, er blot en beholder til det tekniske vurderingsorgan fragmenter:,, <?xml - version = "0" kodning = "utf - 8"?> < framelayout xmlns: androide = "http://schemas.android.com/apk/res/android" androide: id = "@ + id /fragment_container" androide: layout_width = "match_parent" androide: layout_height = "match_parent" />,, det er det, r.id.fragment_container, som omhandlet i mytablistener kode, som hver bestanddel vil blive erstattet i sin regning er udvalgt.det er bare en fælles ramme, der dækker hele skærm (det tekniske vurderingsorgan, afsnit i actionbar, som har sin egen androide genereret indretning).,, nu skal vi betale, layout, tab. xml,:,, <?xml - version = "0" kodning = "utf - 8"?> < relativelayout xmlns: androide = "http://schemas.android.com/apk/res/android" xmlns: værktøj = "http://schemas.android.com/tools" androide: layout_width = "match_parent" androide: layout_height = "match_parent" > < textview androide: id = "@ + id /tabtextview" androide: layout_width = "wrap_content" androide: layout_height = "wrap_content" androide: layout_centerhorizontal = "ægte" androide: layout_centervertical = "ægte" /> < /relativelayout >,, en anden simpel layout: dette er kun en enkelt textview, som vi sætter vores snor ressource i fragmenttab * klasser.hvis du vil have dit øje er mere forskellige fra hinanden, du kunne skabe flere skemaer og anvende en anden en i hver regning klasse.denne plan vil blive kastet ud i framelayout af hovedaktiviteten xml.,, alle dele af din kode er nu sammen, gør det, og du bør få en tabbed aktivitet, der minder lidt om den skærmbillede, ovenfor., som nogensinde er det et enkelt eksempel på en struktur, som kan få meget kompliceret, hvis du ønsker det.eksperiment videre og se, hvad enkle og mere komplekse layout muligheder, du kan sætte det op, og hvordan du kan håndtere forskellige aspekter af din app i en tab - sammenhæng.øje, når det anvendes korrekt, kan give et stort eu - erhvervsgrenen, så de er det værd at få bugt med. denne artikel afslutter vores serie om androide app udvikling for begyndere.for den tidligere artikel i denne serie:,, hvordan man bygger en grundlæggende menu androide app udvikling, til at starte ved begyndelsen, besøg:,, androide programmering for begyndere: del 1,

android tabs navigation



Previous:
Next Page: