我在改变RadioButton的背景属性时遇到了一些问题
首先,我想在每个单选按钮下面创建一行,这是一个Radiobutton小组中的三个
这是以下代码
<RadioGroup
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:divider="@android:color/black"
android:orientation="vertical" >
<RadioButton
android:id="@+id/radioBtnFirst"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@drawable/custom_radiogroup_divider"
android:text="Answer 1"/>
<RadioButton
android:id="@+id/radioBtnTwo"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@drawable/custom_radiogroup_divider"
android:text="Answer 2"/>
<RadioButton
android:id="@+id/radioBtnThree"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@drawable/custom_radiogroup_divider"
android:text="Answer 3"/>
</RadioGroup>
现在在drawable文件夹中,custom_radiogroup_divider.xml是
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid android:color="@android:color/transparent" />
<stroke
android:width="0.3dp"
android:color="@android:color/black" />
</shape>
但现在问题是我使用背景属性
单选按钮看起来像文本与radiobutton重叠
答案 0 :(得分:5)
您必须从Java代码中设置radiobutton的背景:
radioBtnFirst.setButtonDrawable(R.drawable.custom_radiogroup_divider);
它也适用于复选框;)
答案 1 :(得分:2)
不要将drawable设置为背景,而是将其设置为按钮。
使用此
<RadioButton
android:id="@+id/radioBtnFirst"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:button="@drawable/custom_radiogroup_divider"
android:text="Answer 1" />
答案 2 :(得分:0)
试试这个 在radio_buttons布局中将布局宽度设置为wrap_content