私は最大5つのCheckBoxがお互いの間に利用可能なスペースを同数使用したいと考えています。チェックボックスの数は、質問の回答数によって異なります。だから私は、動的にチェックボックスを生成していますが、最大で5垂直方向に配置された内側の線形レイアウトにlayout_weightを使用
私の主なLinearLayout
はvertical orientation
を持っhorizontal orientation
と2インナーLinearLayout
を持っています。私は内部レイアウトの両方にandroid:weightSum=5
、CheckBox
についてはandroid:layout_weight="1"
を試してみました。しかし、それは動作しません。
<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>
ありがとうございますが、これらの変更との違いはありません。 –
また、LinearLayoutの 'layout_height'には、すべてのCheckBoxの高さの合計より大きな値を設定する必要があります。 'wrap_content'(これは2番目のCheckBoxのセットに対して今のところ設定されているように見えます)は、何の隙間もなく、すべてのCheckBoxに収まるくらいの高さになります。 – DanielLaneDC
2番目の内側のLinearLayoutのlayout_heightを意味しますか? –