I.I.S. ‘’G. COSSALI’’ - ORZINUOVI
FRAGMENT,
ACTION BAR,
TOOL BAR
Marzo 2017
Prof. Dario Tomasoni
1
IMPOSTAZIONE
30 min = Fragment + Esempio/Esercizio;
10 min = pausa;
30 min = ActionBar + Esempio/Esercizio;
30 min = ToolBar + Esempio/Esercizio;
10 min = pausa;
40 min = personalizzazione App ‘’Forza4’’;
2
Fragment
• Componente che permette di suddividere in
‘’frammenti’’ l’interfaccia grafica di un’activity;
• Primo esempio con ‘’Master/Detail Flow’’, ovvero
una lista di items che selezionati mi mostrano un
contenuto informativo;
• Esempio ‘’FragmentProva’’ …
3
FragmentProva 1
• DummyContent.java = classe che permette la
definizione della lista dei dati da visualizzare;
• ITEMS = sono gli elementi da visualizzare definiti
come lista di DummyItems;
• ITEM_MAP = è il componente HashMap che
permette di collegare gli ITEMS e renderli
selezionabili (?!?);
4
FragmentProva 2
• NotiziaListActivity.java = activity principale che
parte all’avvio dell’applicazione e che ‘’carica’’ i
dati contenuti nella DummyContent.java e che
alla selezione fa partire la NotiziaDetailActivity;
• NotiziaDetailActivity.java = activity specifica che
visualizza
i
dati
‘’caricandoli’’
da
DummyContent.java e che li mostra caricando un
fragment NotiziaDetailFragment.java;
• Sono da approfondire …
5
FragmentProva 3
Snackbar.make
(
view,
"Replace with your own action",
Snackbar.LENGTH_LONG
)
.setAction("Action", null).show();
• Messaggio in sovraimpressione sulla falsa riga di
Toast;
6
FragmentProva Eserzio
• Provare ad aggiungere un nuovo contenuto (ad
esempio un’immagine) ai DummyItem;
• Provare a modificare le impostazioni per
visualizzarlo nel NotiziaDetailFragment.java
• Attenti alle impostazioni dei file xml per la grafica
7
ActionBar
• La barra ‘’in alto’’ che contiene i menu e i servizi di
navigazione …
• E’ possibile gestirne la visualizzazione e gestirne i
menu;
• Attenzione a:
– style.xml = per impostazioni di visualizzazione;
– menu e menu_main.xml = per definire il menu e le sue modalità
di visualizzazione:
app:showAsAction="ifRoom"
app:showAsAction="never"
– strings.xml = per definire le voci del menu;
8
ActionBar Esercizio
• Inserire un menu di tre voci;
• Alla scelta di ogni voce far partire una activity
diversa;
• In ogni activity inserire un EditText per leggere
una stringa, che deve essere ricopiata nel
TextView della activity principale;
• Il ritorno all’activity principale magari farlo con un
MotionEvent o con un GestureDetector (onFling)
• …
9
ToolBar 1
• La barra ‘’a lato’’ o ‘’in basso’’ o dove meglio si
crede;
• Può essere usata in sostituzione della ActionBar;
1) Annullare la ActionBar in style.xml:
@style/Theme.AppCompat.Light.NoActionBar
2) Inserire la ToolBar in action_main.xml;
3) Associare la ToolBar alla MainActivity.java:
setSupportActionBar(myToolbar);
10
ToolBar 2
4) Creare e Impostare il Menu in menu_main.xml:
5) Creare la SecondActivity.java;
6) Impostare il tasto di ritorno alla MainActivity.java:
ActionBar ab = getSupportActionBar();
ab.setDisplayHomeAsUpEnabled(true);
7) Settare nell’AndroidManifests.xml la Home:
android:parentActivityName=".MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".MainActivity"/>
11
ToolBar Esercizio
• Inserire un menu diverso nella SecondActivity;
• Alla scelta di ogni voce far partire una activity
diversa;
• …
12