Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Design di app Android, componenti e strumenti

Alcuni degli strumenti e degli elementi chiave da utilizzare per sviluppare interfacce moderne per le nostre app Android.
Alcuni degli strumenti e degli elementi chiave da utilizzare per sviluppare interfacce moderne per le nostre app Android.
Link copiato negli appunti

Gli elementi a disposizione di chi vuole cimentarsi nella progettazione delle interfaccia su Android sono moltissimi. Varie tipologie di layout, controlli, menu: tutti hanno una loro finalità e rispettano i canoni imposti dal sistema operativo.

Alcuni di questi componenti, però, arricchiscono l'applicazione di flessibilità ed adattabilità, due caratteristiche fondamentali per un’app moderna, soprattutto su Android.

L'interfaccia utente di un'applicazione non deve basare la navigazione tra le sue “pagine” esclusivamente sull'alternarsi di Activity. I blocchi predefiniti per la gesitone dell'interazione dovrebbero, invece, essere i Fragment. La loro principale peculiarità consiste nella riutilizzabilità. Essi possono essere posizionati all’interno di un'Activity, e diventare successivamente parte di un'altra, portando con sé tutta la logica interna di una schermata dell'applicazione. Oppure, come vedremo in pratica, gli stessi Fragment possono essere contemporaneamente parte di due architetture diverse: di una struttura a schede, e di un Viewpager (un contenitore di pannelli diversi, navigabile per scorrimento mediante swipe).

I Fragment sono per lo più elementi logici: con il loro ciclo di vita svolgono un ruolo di “controller”, di dialogo tra la logica vera dell'applicazione ed il layout mostrato.

Dal punto di vista degli elementi visuali, torna subito alla mente un problema cruciale: la diversità dei display. Questo aspetto va affrontato distinguendone i due aspetti principali:

  • diversità di dimensioni: la stessa interfaccia utente potrebbe apparire adatta per un display e del tutto inadeguata per altri. Il layout ben progettato deve essere ottimizzato per schermi diversi, e non deve limitarsi semplicemente a supportarli. Per fare ciò, è necessario evitare dimensionamenti fissi in favore di soluzione che si adattino allo spazio disponibile. Il primo modo per farlo è comprendere le direttive wrap_content e match_parent che devono essere usate il più possibile. Con tali modificatori, un elemento otterrà le dimensioni minime per contenere ciò che ha all'interno (wrap_content) o si espanderà fino ai confini del proprio contenitore (match_parent).
    • Fondamentale è il RelativeLayout. La sua natura “relativa” permette a questa tipologia di layout di adattarsi il più possibile alle dimensioni del display. Deve essere sempre utilizzato, a meno che non insorgano specifiche necessità che ne impediscano l'adozione;
      • diversità di densità: le dimensioni dovrebbero essere esplicitamente specificate il meno possibile, come già detto al punto precedente; se proprio necessarie, bisogna utilizzare come unità di misura il dp o dip (Density Independent Pixel). Mai utilizzare il pixel né unità simili, perchè non tengono conto della densità di pixel propria del display.

      La struttura di un'applicazione dipende fortemente dal suo scopo. Nel corso della guida esamineremo alcune delle architetture applicative più comuni. Una volta scelta la struttura adatta, l'interfaccia utente va costruita sfruttando alcuni elementi fondamentali:

      • Uno molto importante è l'ActionBar, di cui verrà approfondito l'utilizzo come struttura portante dell'interfaccia e contenitore di comandi da attivare (le action).
      • Molto importanti sono anche i Menu, soprattutto perchè svolgono un ruolo determinante nell'interazione con l'utente: permettono di eseguire comandi e richiedere operazioni che abbiano effetto sull'app in generale o su un singolo elemento.

      Proprio i menu saranno oggetti di particolare approfondimento nel corso di questa guida e vedremo in particolare il loro ruolo "imperativo" svolto dalle sue diverse declinazioni in elementi largamente diffusi nelle applicazioni, quali il NavigationDrawer, il menu laterale a scomparsa, ed il Contextual Action Bar, un modo diverso di offrire il menu contestuale sotto forma di una ActionBar temporanea.

Ti consigliamo anche