2013-04-01 4 views
2

je veux construire une verticale hôte Tab comme l'image ci-dessousAndroid verticale tabhost

enter image description here

j'ai essayé avec le code suivant, mais les onglets ne sont pas visibles

getTabWidget().setOrientation(LinearLayout.VERTICAL); 

est-il possible de mettre en place l'hôte de tab comme below.if possible me dire la manière de mettre en application l'hôte d'étiquette comme ci-dessous. et signaler également les liens s'il y a aucun projet intégré pour l'implémenter comme l'image ci-dessous. (ou) est-il possible d'ajouter une activité à la vue de l'image cliquez similaire à la barre d'onglet cliquez comme ci-dessous

mTabHost.addTab(mTabHost.newTabSpec("tab_test1").setIndicator("TAB 1").setContent(R.id.textview1)); 

parce que s'il est possible je répandrai des vues d'image et de modifier les activités de chaque article cliquez

Aidez-moi à créer l'onglet vertical.

Répondre

3

Il vous suffit de placer votre onglet Widget dans un LinearLayout horizontal dans votre fichier XML:

<TabHost 
    android:id="@android:id/tabhost" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_below="@+id/imageView3" > 

    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:orientation="horizontal" > 

     <FrameLayout 
      android:id="@android:id/tabcontent" 
      android:layout_width="0dp" 
      android:layout_height="0dp" 
      android:layout_weight="0"/> 

     <android.support.v4.view.ViewPager 
      android:id="@+id/pager" 
      android:layout_width="fill_parent" 
      android:layout_height="0dp" 
      android:layout_weight="1" > 
     </android.support.v4.view.ViewPager> 

     <TabWidget 
      android:id="@android:id/tabs" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal" 
      android:layout_gravity="center_vertical"> 
     </TabWidget> 

    </LinearLayout> 
</TabHost> 

ceci placera les onglets à droite du contenu, si vous voulez la gauche, vous devez réorganiser l'ordre dans le fichier XML.

+1

est que viewpager et framelayout même nécessaire? –

1

Mieux utiliser les fragments. Faire une mise en page avec des boutons alignés verticalement et utiliser des fragments pour la transition des pages sur le bouton clic. Refer this pour en savoir plus sur les fragments.

0

Juste pour compléter la réponse d'Emil Adz. Lorsque vous ajoutez le contrôle à la mise en page à l'aide de l'outil graphique, celui-ci ajoute tout le code nécessaire, mais android:orientation="vertical" pour chaque LinerLyout.

Exemple:

<LinearLayout 
       android:id="@+id/tab1" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       > 
      </LinearLayout> 

Vous devez taper vers le bas vous

<LinearLayout 
       android:id="@+id/tab1" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:orientation="vertical" > 
      </LinearLayout>