1 / 30

Android-Programmering

Android-Programmering. Våren 2014. Introduksjon ActionBar. Behovet for forandring Hva er Android ActionBar Tilpassning av ActionBar Navigering – tabs ActionBar - versjonshåndtering. Behovet for forandring. Den orginale menyen baserte seg på visse antagelser

benita
Télécharger la présentation

Android-Programmering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Android-Programmering Våren 2014

  2. Introduksjon ActionBar • Behovet for forandring • Hva er AndroidActionBar • Tilpassning av ActionBar • Navigering – tabs • ActionBar - versjonshåndtering

  3. Behovet for forandring • Den orginale menyen baserte seg på visse antagelser • Skjermene er for små til å inneholde menyvalg og navigasjon • Dette gjør brukerinteraksjonen inneffektiv • Samme løsning fungerer på alle enheter • Ender opp med design til de «minste» enhetene • Alle enheter har fysiske knapper • Handlinger blir to-trinns

  4. Behovet for forandring • Enhetene endrer seg raskt, gamle antagelser er foreldet • Skjermstørrelser blir større • Større plass til elementer på skjermen • Enhetene varierer • Applikasjonene burde tilpasse seg styrker/kapabiliteter til hver enhet • Faser ut fysiske knapper • Onscreen manyvalg og navigasjon gjør brukerinteraksjonen mer effektivt

  5. Hva er Android ActionBar? • Et samlingspunkt for brukerinteraksjon • Tradisjonell meny • Støtte for onscreen menyknapper • Variasjon i navigasjon • Applikasjonstittel og ikon • Tilpasser seg forskjeller i skjermstørrelse/orientering

  6. ActionBar - Deler • Applikasjonsikon • Applikasjonsikon med «up affordance» • Action Items • Action overflow • Overflow action items • Tittel • View controls • Drop-down menyer 1 2 4 2 3 6 3 4 5 5 6 4 3 1 7 7 8 8

  7. ActionBar - Tilpasning • ActionBaren er tilpassningsdyktig • Definerer rettningslinjer for oppførsel • Android tar seg av tilpasningen basert på enhetens egenskaper

  8. Tabbed Navigasjon • ActionBar inneholder tabbed navigasjon • Tabs er plassert direkte på ActionBaren • Tilpasser seg tilgjengelig plass på skjermen • Tabs kan scrolle

  9. ActionBar og Android versjoner • Kom med versjon 3.0 • Støtter Android 2.1 (API level 7) med ActionBarCompat • Finnes alternativer som ActionBarSherlock

  10. Oppsumering • Samlingspunkt for brukerinteraksjon • Inneholder en rekke interaksjonsegenskaper • Tilpasser seg forskjellige enheter

  11. Se på • Legge til ActionBaren • Legge til actions • Kontrollere utseende • Gjemme ActionBaren

  12. Legge til ActionBaren • Benytter den vanlige menyen • ActionBar er tilgjengelig ved bruk av Theme.Holo • Automatisk når minSdkVersion eller targetSdkVersion 11 benyttes

  13. ActionBar bygger på menykonseptet • Fungerer på samme måte som de gamle menyene • Bygge opp ActionBaren • Layouten blir laget gjennom menyressursene • Bruker Activity.onCreateOptionsMenu • Håndtering av manyvalg • Benytter Activity.onOptionsItemSelected • Kan benytte onClick attributten <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/menuOption1" android:icon="@android:drawable/ic_menu_mapmode" android:title="@string/action_option_1"/> <item android:id="@+id/menuOption2" android:icon="@android:drawable/ic_menu_rotate" android:title="@string/action_option_2"/> </menu> publicboolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.main, menu); returntrue; }

  14. Legge til Actions til ActionBar • Du kan legge til rettningslinjer for å gjøre menu items ActionBar actions • Kontrolleres gjennom showAction attributen • Always: Ikonet vil alltid vises på ActionBaren • ifRoom: Ikonet vil vises på ActionBaren hvis det er plass • withText: Inkluder tekst hvis det er plass • Kan kombinere verdier med «|»

  15. Splitte ActionBaren • Kan benytte rettningslinjer for å splitte ActionBaren i 2 deler • Lar systemet vise flere valg på mindre skjermer • Legger til valg på en bar på bunnen av skjermen • Andre deler av ActionBaren forblir på toppen • Legg til uiOptions attribute til manifestfilen • Sett attributtverdien til splitActionBarWhenNarrow • Kan benyttes på individuelle aktiviteter, eller hele applikasjonen

  16. Kontrollere utseende til ActionBar • Kan konfigurere det meste av utseende • Bruk Activity.getActionBar for å få en referanse • Bilder på ActionBaren • setIcon: Kan benytte et annet ikon • setLogo: Større bilde enn et ikon • setBackgroundDrawable: Benytte bitmap eller lignende som bakgrunn • Tittel teksten • setTitle: Endre tittelteksten • setSubtitle: Mindre undertekst • setDisplayShowTitleEnabdled: Vise/skjule tittel og undertekst • Mye mer

  17. Skjule ActionBar • Skjule ActionBaren med programatisk • Bruk Activity.getActionBar for å få referansen • ActionBar.hide/ActionBar.show for og vise/skjule ActionBaren • ActionBar.isShowing for å avgjøre om den er synlig • Skjule ActionBaren statisk • Benytte Theme.Holo.NoActionBar for aktiviteten • Activity.getActionBar vil returnere null

  18. ActionBar Overlay • Benytt ActionBar overlay for å gi en bedre skjul/vis håndtering • Overlay - skjule/vise ActionBaren uten og endre activity størrelse • Legge til overlay med activity stylen • Definer en ny style som arver fra Theme.Holo • Set windowActionBarOverlay • Legge til overlay programatisk • Bruk Activity.getWindow for å få en referanse til vinduet • Bruk requestFeature og legg til Window.FEATURE_ACTION_BAR_OVERLAY • Applikasjonen må håndtere hva som gjør at ActionBaren vises/skjules • Vanlig og bruke touch-based events • Vanlig og skjule den etter en action item er valgt

  19. Oppsumering • Bygger på menykonsepter • Benytter rettningslinjer for å tilpasse seg • Kan gjøre tilpassninger • Overlay gir mer skjermplass til activityen

  20. ActionBar navigering • ActionBar navigering • Tabbed navigasjon • Partial tabbed navigasjon • Kontrollere plassering av tabs • Liste navigasjon

  21. ActionBar navigering • 3 moduser • Standard • Kun ved hjelp av action items • Tabs • Brukeren kan navigere mellom views ved hjelp av tabs • En tab kan benytte hele skjermen, eller deler av den • Tabs kan være fast, eller benytte horisontal skrolling • Liste • Kan navigere mellom views ved hjelp av en drop-down liste

  22. Legge til tabs • Å lage tabbed ActionBar benytter 3 steg • Legge til ActionBar i tabbed-navigation mode • Kall setNavigationMode på ActionBar med NAVIGATION_MODE_TABS • Opprette en instans av ActionBar.Tab for hver tab • Lag en Fragment for innholdet • ActionBar.TabListener interface implementasjon for håndtere taben • Legge til hver ActionBar.Tab til ActionBaren • Kall ActionBar.addTab for hver ActionBar.Tab instans

  23. Tab interaksjon • ActionBar.TabListener håndterer hver tabs interaksjon • Ansvarlig for å håndtere når en tab vises • Må legge til en fragment til en activity • Hver tab må assosieres med en egen TabListener • Finnes en standard implementasjon for å gjøre dette

  24. Implementere ActionBar.TabListener • Metoder • onTabSelected • Kalles når en tab blir klikket • Første gang må fragmenten instansieres og legges til activityen • Senere må den gjøres synlig • onTabUnselected • Kalles når taben ikke er valgt lenger • Må skjule taben • onTabReselected • Kalles når samme tab blir klikket igjen • Må ikke gjøre noe

  25. Tabs til deler av skjermen • Tabs kan kontrollere deler av skjermen, hvis ønskelig • Kan kontrollere innholdet i alle ViewGroups • LinearLayout, etc. • Definere en layout til Activityen • Inkluder en ViewGroup til innholdet i tabene • ViewGroupen Må ha en ID • Trenger de samme komponentene som når den vises over hele aktiviteten • Fragments, ActionBar.Tab, ActionBar.TabListener • Assosier ActionBar.Tablistener med ViewGroupen

  26. Kontrollere plassering av tabs • Tab plasseringer avgjøres av tilgjengelig plass • Vanligvis under ActionBar • I ActionBaren når det er plass • Kan lage mer plass ved å legge action items på bunn og ved å skjule ikon/tittel

  27. Skrollbare tabs • ActionBar tabs har skrolling innebygd • Tabs blir automatisk skrollbare horisontalt når det er ikke er nok plass • Må ikke gjøre noe spesielt

  28. List navigasjon • List navigasjon gir brukeren en drop-down liste • Lister blir laget som en SpinnerAdapter • Legger til en drop-down liste i actionbaren • Gjør det mulig og pupulere den med forskjellige kilder • Vanligvis vil man skjule tittelen for å gi rom til drop-down listen • Hver list item representerer et skjermbilde • Hver skjerm er implementert som en Fragment

  29. Implementering av list navigasjon • ActionBar.OnNavigationListener håndterer skjermendringene • En instans håndterer alle skjermene • onNavigationItemSelected kalles hver gang et valg blir gjort • Sender index • Sender ID hvis det finnes • Hvert valg håndteres ved å vise riktig Fragment • Attacher fragment til android.R.id.content for hele skjermen • Attacher fragment til riktig ViewGroup id for en del av skjermen

  30. Oppsumering • ActionBar navigering gjør det lett og velge skjermer i appen • Navigasjonen baserer seg på Fragments for hvert skjermbilde • Tab navigasjon krever en ActionBar.TabListener for hver tab • Du kan kontrollere plasseringen av tabs ved å flytte ActionBar innhold • List navigasjon bruker en enkel ActionBar.OnNavigationListener

More Related