我希望最多5个CheckBox在彼此之间占用相同数量的可用空间。 CheckBoxes的数量取决于问题的答案数量。所以我动态生成CheckBoxes,但最大值为5.
我的主要LinearLayout
有一个horizontal orientation
,而内部LinearLayout
有一个vertical orientation
。我尝试将android:weightSum=5
用于两个内部布局,并android:layout_weight="1"
用于每个CheckBox
。但它没有用。
<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>
答案 0 :(得分:0)
android:weightSum="5"
LinearLayout
android:layout_weight="1"
添加到您的所有CheckBoxe
android:layout_height="0dp"
设置为所有CheckBoxe
s 然后以编程方式为您要隐藏的内容设置可见性GONE。 <{1}}的父布局中的所有剩余空间将被平均填充。