Classi per costrutire le User Interface.
Views e View Event, ViewGroup, AdapterView + Layout (già visti)
Dialog (finestre di Dialogo)
Menu e Action Bar
Ogni Activity è una View.
L’interfaccia utente in Android è il mezzo (metafora), permette di far comunicare.
L’utente e l’applicazione (il programma devono comunicare tra loro).
A livello di progettazione è bene tener presente dell’interfaccia.
O.S. Android fornisce un insieme di classi per la User Interface.
Tutti gli elementi dell’interfaccia sono View e ViewGroup.
La Classe View è il mattone fondamentale. La View è la Base
Ogni Widget che viene disegnato è una View. Di solito non scriviamo come File XML, ma potremmo anche Noi comporre un file XML.
Eventi delle View, interazione dell’utente.
Interazione dell’utente: il Tocco.
Gli eventi si gestiscono con i Listeners.
public class MainActivity extends AppCompatActivity {
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button);
button.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
return false;
}
});
}
}
public class MainActivity extends AppCompatActivity {
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
}
}
Le View sono organizzate tipicamente come Alberi.
Quando O.S. Android disegna le View sullo schermo spesso scorre l’album diverse volte.
Prende le dimensioni delle View
Posiziona le View
Disegna le View
Gestione Eventi e View
In genere non ci si preoccupa dell’ordine con cui Android scandisce l’albero, ma se si vogliono realizzare sottoclassi di View custom
onMeasure()
onLayout()
onDraw()
ListView
E’ un AdapaterView che mostra una lista scrollabile di elementi selezionabili.
Gli elementi sono gestiti da un adapter chiamato ListAdapter
Una ListView può filtrare gli elementi della Lista in base al testo passato in input.
Si gestisce con onItemSelected()
Adapter e Adapter View
utile quando diversi sviluppatori vogliono mostrare diversi tipi di dati: ListView
ViewGroup in cui i figli sono gestiti da un Adapter, responsabile per la gestione dei dati e per la creazione della View con quei dati
→ AdapterView è responsabile solo per la visualizzazione dei dati
ListView
E’ un AdapterView che mostra una lista scrollabile di elementi selezionabili.
GridView e Listener
Spinner Adapter
Spinner: lista di elementi scrollabile all’interno di un AdapterView
l’utente clicca sul componente e dalla lista che compare seleziona l’elemento desiderato.
I Dati sono gestiti da uno SpinnerAdapter