Je voudrais avoir au maximum 5 CheckBox prenant la même quantité d'espace disponible entre elles. Le nombre de CheckBox dépend du nombre de réponses à une question. Je suis donc générer dynamiquement les cases à cocher, mais le maximum est 5.Utilisation du layout_weight pour les LinearLayouts internes orientées verticalement
Mon principal LinearLayout
a une horizontal orientation
et 2 LinearLayout
intérieure ont un vertical orientation
. J'ai essayé d'utiliser android:weightSum=5
pour les deux dispositions intérieures et android:layout_weight="1"
pour chaque CheckBox
. Mais ça ne marche pas.
<LinearLayout
android:id="@+id/layout_multiplechoice"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/layout_question"
android:layout_margin="5dp"
android:layout_toEndOf="@+id/iv_image"
android:layout_toRightOf="@+id/iv_image"
android:orientation="horizontal">
<LinearLayout
android:id="@+id/layout_multiplechoice_solutions"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="center_vertical"
android:orientation="vertical"
android:visibility="invisible"
android:weightSum="5">
<CheckBox
android:id="@+id/cb_solution1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:enabled="false"/>
<CheckBox
android:id="@+id/cb_solution2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:enabled="false"/>
<CheckBox
android:id="@+id/cb_solution3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:enabled="false"/>
<CheckBox
android:id="@+id/cb_solution4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:enabled="false"/>
<CheckBox
android:id="@+id/cb_solution5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:enabled="false"/>
</LinearLayout>
<LinearLayout
android:id="@+id/layout_multiplechoice_answers"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:orientation="vertical"
android:weightSum="5">
<CheckBox
android:id="@+id/cb_answer1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:buttonTint="@android:color/holo_green_light"/>
<CheckBox
android:id="@+id/cb_answer2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:buttonTint="@android:color/holo_green_light"/>
<CheckBox
android:id="@+id/cb_answer3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:buttonTint="@android:color/holo_green_light"/>
<CheckBox
android:id="@+id/cb_answer4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:buttonTint="@android:color/holo_green_light"/>
<CheckBox
android:id="@+id/cb_answer5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:buttonTint="@android:color/holo_green_light"/>
</LinearLayout>
</LinearLayout>
Merci, mais il n'y a aucune différence avec ces changements. –
Vous devrez également définir 'layout_height' de LinearLayout sur quelque chose de plus grand que le total de la hauteur de CheckBoxes. 'Wrap_content' (que vous semblez avoir réglé maintenant pour le second jeu de CheckBox) rendra la hauteur exactement assez petite pour s'adapter à tous les CheckBox sans aucun espacement, ce qui n'est pas ce que vous voulez. – DanielLaneDC
Voulez-vous dire le layout_height de mon deuxième LinearLayout intérieur? –