Problème HorizontalScrollView et TableLayout
Bonjour à tous,
Je me lance dans une application Android et je suis confronté à un petit problème en rapport avec les HorizontalScrollView. Voici mes codes et les screenshots en rapport pour comprendre le problème
Lorsque je n'utilise pas d'HorizontalScrollView, tout va bien :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
<?xml version="1.0" encoding="utf-8"?>
<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#000000"
android:stretchColumns="1"
android:shrinkColumns="0"
>
<TableRow android:background="#777777" android:layout_margin="2dip">
<TextView
android:id="@+id/textview_nom"
android:text="@string/textview_nom"
android:gravity="center_vertical" />
<EditText
android:id="@+id/edittext_nom"
android:gravity="center_vertical" />
</TableRow>
<TableRow android:background="#777777" android:layout_margin="2dip">
<TextView
android:id="@+id/textview_prenom"
android:text="@string/textview_prenom"
android:gravity="center_vertical" />
<EditText
android:id="@+id/edittext_prenom"
android:gravity="center_vertical" />
</TableRow>
<TableRow android:background="#777777" android:layout_margin="2dip">
<TextView
android:id="@+id/textview_date_naissance"
android:text="@string/textview_date_naissance"
android:layout_gravity="center" />
<DatePicker
android:id="@+id/datepicker_date_naissance" />
</TableRow>
<TableRow android:background="#777777" android:layout_margin="2dip">
<TextView
android:id="@+id/textview_pays_naissance"
android:text="@string/textview_pays_naissance"
android:layout_gravity="center" />
<Spinner
android:id="@+id/spinner_pays_naissance" />
</TableRow>
<TableRow android:background="#777777" android:layout_margin="2dip">
<TextView
android:id="@+id/textview_ville_naissance"
android:text="@string/textview_ville_naissance"
android:layout_gravity="center" />
<Spinner
android:id="@+id/spinner_ville_naissance" />
</TableRow>
<TableRow android:background="#777777" android:layout_margin="2dip">
<TextView
android:id="@+id/textview_departement_naissance"
android:text="@string/textview_departement_naissance"
android:layout_gravity="center" />
<TextView
android:id="@+id/textview_affiche_departement_naissance"
android:layout_gravity="center"
android:background="#cccccc"
android:textColor="#000000"
android:textSize="25sp"
android:textStyle="bold"
/>
</TableRow>
</TableLayout> |
Qui me donne en résultat :http://img185.imageshack.us/img185/6835/goodr.png
Tout va bien pour le moment. mais quand je rajoute un HorizontalScrollView autour de ce beau monde, tout va de travers :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
<?xml version="1.0" encoding="utf-8"?>
<HorizontalScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="fill_parent">
<TableLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#000000"
android:stretchColumns="1"
android:shrinkColumns="0"
>
<TableRow android:background="#777777" android:layout_margin="2dip">
<TextView
android:id="@+id/textview_nom"
android:text="@string/textview_nom"
android:gravity="center_vertical" />
<EditText
android:id="@+id/edittext_nom"
android:gravity="center_vertical" />
</TableRow>
<TableRow android:background="#777777" android:layout_margin="2dip">
<TextView
android:id="@+id/textview_prenom"
android:text="@string/textview_prenom"
android:gravity="center_vertical" />
<EditText
android:id="@+id/edittext_prenom"
android:gravity="center_vertical" />
</TableRow>
<TableRow android:background="#777777" android:layout_margin="2dip">
<TextView
android:id="@+id/textview_date_naissance"
android:text="@string/textview_date_naissance"
android:layout_gravity="center" />
<DatePicker
android:id="@+id/datepicker_date_naissance" />
</TableRow>
<TableRow android:background="#777777" android:layout_margin="2dip">
<TextView
android:id="@+id/textview_pays_naissance"
android:text="@string/textview_pays_naissance"
android:layout_gravity="center" />
<Spinner
android:id="@+id/spinner_pays_naissance" />
</TableRow>
<TableRow android:background="#777777" android:layout_margin="2dip">
<TextView
android:id="@+id/textview_ville_naissance"
android:text="@string/textview_ville_naissance"
android:layout_gravity="center" />
<Spinner
android:id="@+id/spinner_ville_naissance" />
</TableRow>
<TableRow android:background="#777777" android:layout_margin="2dip">
<TextView
android:id="@+id/textview_departement_naissance"
android:text="@string/textview_departement_naissance"
android:layout_gravity="center" />
<TextView
android:id="@+id/textview_affiche_departement_naissance"
android:layout_gravity="center"
android:background="#cccccc"
android:textColor="#000000"
android:textSize="25sp"
android:textStyle="bold"
/>
</TableRow>
</TableLayout>
</HorizontalScrollView> |
Ce qui donne : http://img593.imageshack.us/img593/866/bad.png
Donc ça ne m'affiche pas une colonne je comprends pas pourquoi.Je pense que ça s'affiche sur le coté mais je ne veux pas autoriser le défilement en vertical (ScrollView).
Si j'enlève la propriéte android:shrinkColumns="0" tous les éléments sont biens visibles (même si le date spinner déborde sur le côté) mais chaque colonne prends le même espace (moitié-moitié).
Je souhaiterais que mon application s'affiche de la même façon que sur la 1ère image mais avec le horizontalscrollview pour rajouter des éléments.
Je ne sais pas si j'ai raté quelque chose ou pas mais j'espère que vous pourrez m'aider à comprendre le problème.
Cordialement