Kar*_*uri 21 android radio-group radio-button divider
是否有一种简单的方法在RadioButtons内部添加分隔符RadioGroup?我尝试过使用dividerxml属性,但似乎没有用.如果它是相关的RadioGroup,我的布局中不包含任何子视图; 我正在以RadioButtons编程方式添加.
编辑:问题解决了.您可以在xml中添加RadioButton内部视图RadioGroup.在我的情况下,您也可以以编程方式执行此操作,但请注意您的布局参数.Akki有正确的想法,这对我有用:
for (int i = 0; i < items.size(); i++) {
if (i > 0) {
// add a divider with height of 1 pixel
View v = new View(this);
v.setLayoutParams(new RadioGroup.LayoutParams(LayoutParams.MATCH_PARENT, 1));
v.setBackgroundColor(android.R.color.darker_gray);
mRadioGroup.addView(v);
}
RadioButton rb = new RadioButton(this);
/* set other properties ... */
mRadioGroup.addView(rb);
}
Run Code Online (Sandbox Code Playgroud)
小智 20
<RadioGroup
android:id="@+id/location_radio_group"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="?android:attr/dividerHorizontal"
android:showDividers="middle">
</RadioGroup>
Run Code Online (Sandbox Code Playgroud)
这对你有用.我真的好奇你如何在Group View中添加视图?这应该导致classcastexception,不是吗?
Kar*_*nne 15
这是一个解决方法:
首先创建一个Shape Drawable作为分隔符.这是一个例子:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid
android:color="@color/white" />
<stroke
android:width="0.3dp"
android:color="@color/black" />
</shape>
Run Code Online (Sandbox Code Playgroud)
这只是一个简单的黑色边框.将它放在drawable /文件夹中,并将其命名为custom_divider.xml.
然后,转到使用RadioGroup的布局.使用ShapeDrawable作为每个RadioButton的背景.这是一个例子:
<RadioGroup
android:id="@+id/radioGroup1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:divider="@color/black" >
<RadioButton
android:id="@+id/radio0"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/custom_radiogroup_divider"
android:checked="true"
android:text="RadioButton" />
<RadioButton
android:id="@+id/radio1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/custom_radiogroup_divider"
android:text="RadioButton" />
<RadioButton
android:id="@+id/radio2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/custom_radiogroup_divider"
android:text="RadioButton" />
</RadioGroup>
Run Code Online (Sandbox Code Playgroud)
您还可以向RadioGroup添加ShapeDrawable.这取决于您,如果您需要,可以自定义.:)
这是我的一个带有自定义边框(带有圆角半径)和自定义分隔符ShapeDrawable(s)的RadioGroup的示例.

创建表示分隔符的形状drawable(称为"radio_group_divider"):
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<size android:width="12dp" />
<solid android:color="@color/transparent" />
</shape>
Run Code Online (Sandbox Code Playgroud)
在RadioGroup中将此drawable用作"divider":
<RadioGroup
...
android:divider="@drawable/radio_group_divider"
android:showDividers="middle"
...>
</RadioGroup>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18963 次 |
| 最近记录: |