J'utilise un TableLayout. J'ai besoin d'avoir un défilement horizontal et vertical pour cette mise en page. Par défaut, je peux obtenir le défilement vertical dans la vue mais le défilement horizontal ne fonctionne pas.
J'utilise Android SDK 1.5 r3. J'ai déjà essayé Android:scrollbars="horizontal"
.
J'ai lu sur certains forums que dans la mise à jour de cupcake, le défilement horizontal est possible.
Comment faire défiler ma mise en page dans les deux sens?
J'ai pu trouver un moyen simple de réaliser les deux comportements de défilement.
Voici le xml pour cela:
<ScrollView xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="fill_parent" Android:layout_height="fill_parent"
Android:scrollbars="vertical">
<HorizontalScrollView
Android:layout_width="320px" Android:layout_height="fill_parent">
<TableLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:id="@+id/linlay" Android:layout_width="320px"
Android:layout_height="fill_parent" Android:stretchColumns="1"
Android:background="#000000"/>
</HorizontalScrollView>
</ScrollView>
c'est trop tard mais j'espère que votre problème sera résolu rapidement avec ce code. rien à faire de plus, il suffit de mettre votre code sous scrollview.
<HorizontalScrollView
Android:id="@+id/scrollView"
Android:layout_width="wrap_content"
Android:layout_height="match_parent">
<ScrollView
Android:layout_width="match_parent"
Android:layout_height="wrap_content">
//xml code
</ScrollView>
</HorizontalScrollView>
Dans cet article Scrollview vertical et horizontal dans Android ils parlent d'une solution possible, citant:
Matt Clark a construit une vue personnalisée basée sur la source Android, et cela semble fonctionner parfaitement: http://blog.gorges.us/2010/06/06/Android-two -dimensional-scrollview
Attention, la classe de cette page a un bug qui calcule la largeur horizontale de la vue. Un correctif de Manuel Hilty est dans les commentaires:
Solution: remplacez l'instruction à la ligne 808 par ce qui suit:
final int childWidthMeasureSpec = MeasureSpec.makeMeasureSpec(lp.leftMargin + lp.rightMargin, MeasureSpec.UNSPECIFIED);
Utilisez ceci:
Android:scrollbarAlwaysDrawHorizontalTrack="true"
Exemple:
<Gallery Android:id="@+id/gallery"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:scrollbarAlwaysDrawHorizontalTrack="true" />