Tab Layout in Android

In questo articolo riporto un esempio di implementazione di un tab layout in Android utilizzando la classe TabActivity.
La classe TabActivity è deprecata a partire dalla versione 3.0 Honeycomb, successivamente si dovrebbe usare ActionBar come mostrerò in un prossimo articolo.

  1. crea un progetto Android di nome TabLayout, package eu.lucazanini e activity TabLayoutActivity.java
  2. modifica il file AndroidManifest.xml, che è essenzialmente quello originale con l’aggiunta di 2 nuove activity
  3. modifica il file /res/values/strings.xml, per gestire le etichette
  4. modifica il file res/layout/main.xml che riporta in particolare TabHost, TabWidget e FrameLayout, da notare che i valori dei loro id sono standard (tabhost, tabs e tabcontent)
  5. crea i file res/layout/tab1.xml e res/layout/tab2.xml, che rappresentano il contenuto delle 2 tabs

  6. modifica la classe TabLayoutActivity.java, da notare che le etichette delle tabs appariranno in maiuscolo e che eventualmente è possibile inserire un’icona con il metodo setIndicator(CharSequence label, Drawable icon) della classe TabHost.TabSpec
  7. crea le classi Tab1Activity.java e Tab2Activity.java

  8. lancia l’applicazione

5 risposte a “Tab Layout in Android”

  1. Ciao, ho eseguito passo, passo il codice del Tab Layout in Android, ma non funziona. Nella classe TabLayoutActivity.java evidenzia degli errori sulle label1 e label2 (cannot be resolved or is not a field). Avresti il codice completo?
    Grazie!

    1. Non ho più il codice originale.
      L’errore è su “R.string.label1” e “R.string.label2”?
      label1 e label2 sono definiti nel file strings.xml, è possibile che il problema sia qui.
      Puoi anche pulire e ricompilare il progetto, in eclipse sotto il menù Project.

    2. Le versioni più recenti del plugin ADT di eclipse creano differenti file xml, quindi se usi, come è probabile, una versione più recente devi tenere conto di questo.
      Le versioni più recenti del plugin creano un file res/menu/main.xml con la seguente riga:
      android:title=”@string/action_settings”
      per cui nel file res/values/strings.xml devi aggiungere:
      Settings
      E’ anche possibile che la riga 8 del file res/layout/main.xml debba essere eliminata.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.