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 :
Qui me donne en résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>
Tout va bien pour le moment. mais quand je rajoute un HorizontalScrollView autour de ce beau monde, tout va de travers :
Ce qui donne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>
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
Partager