2010-06-19 6 views
5

Je travaille actuellement sur ma première application Android. J'utilise une mise en page à onglets pour mon application. J'ai suivi le tutoriel pour cela sur le guide de dev et a rencontré un problème. Le tutoriel n'utilisait que trois onglets, mais j'en ai besoin de plus. En tant que tel, les onglets se redimensionnent et se regroupent. J'espérais que quelqu'un pourrait me dire comment je peux les faire défiler, comme dans le navigateur de dauphin lors de l'utilisation de plusieurs onglets. Merci!Android: onglets défilables

~ aaron

Répondre

1

dans ce cas, vous ne voulez probablement utiliser les onglets. Au contraire, vous pouvez mettre tous vos « onglets » pour une mise en page linéaire horizontal en haut de l'écran enveloppé dans un ScrollView comme celui-ci

<?xml version="1.0" encoding="utf-8"?> 
<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_height="wrap_content" android:layout_width="fill_parent"> 
    <LinearLayout 
     android:orientation="horizontal" android:layout_height="wrap_content" 
     android:layout_width="fill_parent"> 

     ...buttons go here... 

    </LinearLayout> 
</HorizontalScrollView> 

Je pense que cela vous donnera le résultat que vous recherchez, mais laissez-moi savoir

+0

modifié pour utiliser HorizontalScrollView au lieu de ScrollView (qui défile uniquement vertical) – mtmurdock

+0

Merci. Je vais essayer de le mettre en œuvre de cette façon et vous le faire savoir. – ariets

+0

clair et simple .... !!! –

3

Je recommanderais d'enrouler le TabWidget avec HotizontalScrollView à la place. De cette façon, vous pouvez toujours utiliser les onglets tels qu'ils sont.

<HorizontalScrollView 
     android:id="@+id/horizontalScrollView1" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     > 

     <TabWidget 
      android:id="@android:id/tabs" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      /> 
    </HorizontalScrollView> 

Il est important de noter que si vous utilisez moins onglets, cela entraînera l'onglet est de ne pas remplir toute la largeur de l'écran. Je suis actuellement à la recherche d'une solution à ce problème.

12

En utilisant ce que dit Yoel, il suffit d'ajouter: android:fillViewport="true et android:scrollbars="none"

à HorizontalScrollView comme ceci:

<HorizontalScrollView 
     android:id="@+id/horizontalScrollView1" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:fillViewport="true" 
     android:scrollbars="none" > 

     <TabWidget 
      android:id="@android:id/tabs" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" /> 

    </HorizontalScrollView> 
Questions connexes