gpt4 book ai didi

android - 在android中添加自定义单选按钮

转载 作者:IT老高 更新时间:2023-10-28 13:02:14 27 4
gpt4 key购买 nike

我正在尝试为 android 中的常规按钮获得单选按钮效果

我在下面有一个简单的 android 单选按钮

enter image description here

代码是::

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>

如何自定义如下::

enter image description here

谢谢!

[编辑] 使用来自答案之一的代码

enter image description here

但是按钮名称被select选项遮住了怎么去掉呢?


{EDIT} 更多更改

最后的更改应该至少我应该知道我从三个单选按钮中选择了哪个按钮......是否有可能得到如下?

enter image description here

最佳答案

添加一个引用图像或选择器(如下所示)的背景可绘制对象,并使按钮透明:

<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>

在上面的选择器中,我们引用了两个drawable,ab,我们是这样创建它们的:

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>

更多关于drawables的信息:http://developer.android.com/guide/topics/resources/drawable-resource.html

关于android - 在android中添加自定义单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19163628/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com