在android中添加自定义单选按钮 [英] Adding custom radio buttons in android
问题描述
我下面有一个简单的安卓单选按钮
I have a simple android radio button below
代码是 ::
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<RadioGroup
android:id="@+id/radioGroup1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" >
<RadioButton
android:id="@+id/radio0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="RadioButton1" />
<RadioButton
android:id="@+id/radio1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="RadioButton2" />
<RadioButton
android:id="@+id/radio2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="RadioButton3" />
</RadioGroup>
</RelativeLayout>
<小时>
如何自定义如下::
谢谢!
但是按钮名称被选择选项掩盖了如何删除它?
最后的更改应该至少我应该知道我从三个单选按钮中选择了哪个按钮......是否有可能获得如下?
Finall changes should atleast i should know which button i have selected out of three radio buttons .... is it possible to get as below ?
推荐答案
添加引用图像的背景可绘制对象或选择器(如下所示),并使按钮透明:>
<RadioButton
android:id="@+id/radio0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@null"
android:button="@drawable/yourbuttonbackground"
android:checked="true"
android:text="RadioButton1" />
如果您希望单选按钮在选中时具有不同的资源,请创建一个可绘制的选择器背景:
res/drawable/yourbuttonbackground.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:drawable="@drawable/b"
android:state_checked="true"
android:state_pressed="true" />
<item
android:drawable="@drawable/a"
android:state_pressed="true" />
<item
android:drawable="@drawable/a"
android:state_checked="true" />
<item
android:drawable="@drawable/b" />
</selector>
在上面的选择器中,我们引用了两个可绘制对象,a
和 b
,这是我们创建它们的方法:
In the selector above, we reference two drawables, a
and b
, here's how we create them:
res/drawable/a.xml - 选中状态
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners
android:radius="5dp" />
<solid
android:color="#fff" />
<stroke
android:width="2dp"
android:color="#53aade" />
</shape>
res/drawable/b.xml - 常规状态
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners
android:radius="5dp" />
<solid
android:color="#fff" />
<stroke
android:width="2dp"
android:color="#555555" />
</shape>
关于可绘制对象的更多信息:http://developer.android.com/guide/topics/resources/drawable-resource.html
More on drawables here: http://developer.android.com/guide/topics/resources/drawable-resource.html
这篇关于在android中添加自定义单选按钮的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!