2010-03-02 6 views
5

J'ai une table définie dans le fichier XML, qui est actuellement configuré pour faire défiler verticalement. Mais je veux aussi le faire défiler horizontalement au besoin.comment pouvons-nous faire la mise en page de tableau pour faire défiler les deux sens (horizontalement, verticalement)

Voici le code XML utilisé

<?xml version="1.0" encoding="utf-8"?> 

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:scrollbars="vertical" 
    android:layout_height="fill_parent" 
    android:layout_width="fill_parent"> 

    <TableLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:stretchColumns="0,1,2" 
     android:id="@+id/tLayout" 
     android:scrollbars="vertical" 
     > 
     <TableRow 
      android:layout_width="fill_parent"> 
      <TextView 
       android:padding="3dip" 
       android:gravity="left" 
       android:text="Name" 
       /> 
      <TextView 
       android:padding="3dip" 
       android:gravity="left" 
       android:text="Address" 
       /> 
      <TextView 
       android:padding="3dip" 
       android:gravity="left" 
       android:text="Age" 
       /> 
     </TableRow> 
    </TableLayout> 
</ScrollView> 

Répondre

8

J'ai eu le même problème et je l'ai résolu l'introduction d'un HorizontalScrollView comme un enfant de la ScrollView puis la TableLayout comme un enfant du HorizontalScrollView:

+0

Ce n'est pas une bonne solution puisque l'utilisateur ne sera pas capable de faire défiler dans les deux sens (verticalement et horizontalement) à la fois. – chteuchteu

2

Vous pouvez le vérifier Bibliothèque que j'ai créée: https://github.com/InQBarna/TableFixHeaders

It Implémente une table qui peut être remplie à l'aide d'un Adapeter. Il recycle également les vues.

+0

Vérifié ce code sur c'est génial. Le projet est facilement importé en eclipse sur mac mais c'est difficile de le transférer en eclipse sur windows. [l'écart de Linux?]. C'est un problème récurrent. –

Questions connexes