2010-05-19 31 views
5

J'utilise le code suivant pour simuler des onglets et puisqu'il y a plus d'onglets que la largeur peut accommoder, l'utilisateur peut faire défiler vers la gauche ou la droite pour rendre un bouton visible. Tout cela fonctionne, mais je fournis également à l'utilisateur la possibilité de jeter entre les onglets en balayant le doigt vers la gauche ou la droite sur le contenu de l'onglet. Encore une fois - ça fonctionne. Mais quand je jette à l'onglet le plus à droite son bouton correspondant est à peine visible. Je veux autoscroll table à l'intérieur du HorizontalScrollView de sorte que le bouton de l'onglet sélectionné sera visible, mais quand j'exécute HorizontalScrollView.smoothScrollTo(300, 0) rien ne se passe. Peu importe à quelle hauteur je définis le premier paramètre x rien ne bougera jamais (oui j'ai un algorithme pour calculer la position exacte).Android: Autoscrolling HorizontalScrollView

code XML est ici pour faire défiler les boutons de l'onglet

<HorizontalScrollView android:layout_width="fill_parent" 
    android:background="@color/tabs_header" android:layout_height="55dip" 
    android:scrollbars="none" android:id="@+id/tabsButtonView"> 
    <TableLayout android:id="@+id/TableLayout01" android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 
     <TableRow android:id="@+id/TableRow01" android:layout_width="fill_parent" android:layout_weight="1" 
      android:layout_height="0dip" android:paddingTop="5dip" android:paddingLeft="3dip"> 
      <ImageButton android:src="@drawable/linkup_logo_small" android:id="@+id/tabBtt0" 
       android:layout_width="wrap_content" android:layout_marginLeft="2dip" android:layout_marginRight="2dip" 
       android:layout_height="fill_parent" android:padding="5dip" android:background="@drawable/tab_selected"></ImageButton> 
      <ImageButton android:src="@drawable/simplyhired_small" android:id="@+id/tabBtt1" 
       android:layout_height="fill_parent" android:layout_width="fill_parent" android:layout_marginLeft="2dip" 
       android:layout_marginRight="2dip" android:padding="5dip" android:background="@drawable/tab_normal"></ImageButton> 
      <ImageButton android:src="@drawable/indeedcom_small" android:id="@+id/tabBtt2" 
       android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="5dip" 
       android:layout_marginLeft="2dip" android:layout_marginRight="2dip" android:background="@drawable/tab_normal"></ImageButton> 
      <ImageButton android:src="@drawable/careerbuilder_logo_small" android:id="@+id/tabBtt3" 
       android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="5dip" 
       android:layout_marginLeft="2dip" android:layout_marginRight="2dip" android:background="@drawable/tab_normal"></ImageButton> 
     </TableRow> 
    </TableLayout> 
</HorizontalScrollView> 

Répondre

2

Il n'y a rien de mal à HorizontalScrollView et autoscrolling fonctionne parfaitement. C'était simplement une séquence d'initialisation qui échouait dans mon code. Affaire classée.