Tab Layout in Android

This post is an example of implementing a tab layout in Android using a TabActivity class.
The TabActivity class is deprecated since version 3.0 Honeycomb, then you should use ActionBar as I’ll write in a next post.

  1. create an Android project called TabLayout, a package eu.lucazanini and an activity
  2. edit the file AndroidManifest.xml, it is the default one with the addition of 2 new activity
  3. edit the file /res/values/strings.xml, to manage the labels
  4. edit the file res/layout/main.xml, which shows in particular, TabHost, TabWidget and FrameLayout, note that the values of id are standard (tabhost, tabs and tabcontent)
  5. create the files res/layout/tab1.xml and res/layout/tab2.xml, representing the contents of 2 tabs
  6. edit the class, note that the labels of the tabs will be capitalized and that eventually you can put an icon with the method setIndicator (CharSequence label, icon Drawable) of the class TabHost.TabSpec
  7. create the classes and
  8. launch the app

5 replies on “Tab Layout in Android”

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

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.

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:
per cui nel file res/values/strings.xml devi aggiungere:
E’ anche possibile che la riga 8 del file res/layout/main.xml debba essere eliminata.

Non conosco accordion, potrei vedere di farci un post in futuro, ma non posso prometterti nulla sui tempi.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.