我的想法是成对ImageView - RadioButton,每个对包含在LinearLayout(水平方向)和ImageButtons中,当选择并确认选项时,它们的背景颜色会发生变化。所以,它看起来像:
[LinearLayout1]: [ImageView1] [RadioButton1]
[LinearLayout2]: [ImageView2] [RadioButton2]
[LinearLayout3]: [ImageView3] [RadioButton3]
是否可以将此层次结构存储在RadioGroup中?我尝试应用此功能,但在我的应用中看不到ImageViews。或者RadioGroup是否仅为RadioButtons构建,所有其他视图都被忽略?
答案 0 :(得分:1)
是的,这是可能的。如果它不起作用,那么你的代码还有其他问题。
基于SDK中包含的ApiDemos示例Android应用程序的概念验证布局:
<RadioGroup
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:checkedButton="@+id/lunch"
android:id="@+id/menu">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/radio_group_1_breakfast"
android:id="@+id/breakfast"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/btn_star"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/radio_group_1_lunch"
android:id="@id/lunch"/>
</LinearLayout>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/radio_group_1_dinner"
android:id="@+id/dinner"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/radio_group_1_all"
android:id="@+id/all"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/radio_group_1_selection"
android:id="@+id/choice"/>
</RadioGroup>
及其产生的布局: