欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 人文社科 > 生活经验 >内容正文

生活经验

Android RadioButton 修改选择框

发布时间:2023/11/27 生活经验 33 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Android RadioButton 修改选择框 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

效果图

 是否被选中打印效果图

RadioButon  是单选框 ,选中之后再次点击无法取消,这样呢我们可以配合RadioGroup 使用,选择其他的RadioButton

这样的话刚才的的那个就取消了

在使用的时候注意padding 是相对于字体来的不是相对选择框 

在androidx一起布局使用

RadioButton

androidx 可以使用 (RadioButton 依然可以使用)

androidx.appcompat.widget.AppCompatRadioButton

修改选择框的图片 和checkbox 一样,可以使用style 还可以直接通过button 来实现

1 style 

xml 代码如下

    <androidx.appcompat.widget.AppCompatRadioButtonandroid:id="@+id/radio"android:layout_width="wrap_content"android:layout_height="wrap_content"android:paddingLeft="10dp"style="@style/checkbox"android:text="Java"/>

styles 里面 checkbox

    <style name="checkbox"><item name="android:button">@drawable/checkbox</item></style>

drawable 里面的 checkbox (注意这里的checkbox_unselect 与checkbox_select是图片)

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawable="@drawable/checkbox_unselect" android:state_checked="false" /><item android:drawable="@drawable/checkbox_select" android:state_checked="true" />
</selector>

这样就实现了修改图片的效果图

直接button xml 代码

  <androidx.appcompat.widget.AppCompatRadioButtonandroid:id="@+id/radio"android:layout_width="wrap_content"android:layout_height="wrap_content"android:paddingLeft="10dp"android:button="@drawable/drawable_radio"android:text="Java"/>

drawable 下面的 drawable_radio (注意:这里的radio_select与 radio_unselect是图片)

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawable="@drawable/radio_unselect" android:state_checked="false" /><item android:drawable="@drawable/radio_select" android:state_checked="true" />
</selector>

关于RadioButton 是否选中的监听事件setOnCheckedChangeListener

代码

public class MainActivity extends AppCompatActivity {private RadioButton radioButton;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);radioButton = findViewById(R.id.radio);radioButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {Log.e("--------java是否被选中", String.valueOf(isChecked));}});}
}

有时候做筛选的时候可能使用到 

下面写一个单选题把

效果图

这个就是简单的修改了下直接看代码把

 <TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center"android:text="发射第一颗人造卫星的国家是"/><RadioGroupandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginLeft="17dp"android:layout_marginRight="17dp"android:orientation="vertical"><RadioButtonandroid:layout_height="40dp"android:layout_width="match_parent"android:button="@null"android:layout_marginTop="10dp"android:text="美国"android:gravity="center"android:background="@drawable/drawable_radio_bg"/><RadioButtonandroid:layout_height="40dp"android:layout_width="match_parent"android:button="@null"android:text="前苏联"android:layout_marginTop="10dp"android:gravity="center"android:background="@drawable/drawable_radio_bg"/><RadioButtonandroid:layout_height="40dp"android:layout_width="match_parent"android:button="@null"android:text="南斯拉夫"android:layout_marginTop="10dp"android:gravity="center"android:background="@drawable/drawable_radio_bg"/><RadioButtonandroid:layout_height="40dp"android:layout_width="match_parent"android:button="@null"android:layout_marginTop="10dp"android:text="中国"android:gravity="center"android:background="@drawable/drawable_radio_bg"/></RadioGroup>

drawable 中的 drawable_radio_bg

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawable="@drawable/radio_bg" android:state_checked="false" /><item android:drawable="@drawable/radio_select_bg" android:state_checked="true" />
</selector>

drawable 中的 radio_bg 

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"><corners android:radius="10dp"/><stroke android:color="#1296db" android:width="1dp"/>
</shape>

drawable 中的 radio_select_bg

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"><corners android:radius="10dp"/><solid android:color="#1296db"/>
</shape>

demo 地址参考

总结

以上是生活随笔为你收集整理的Android RadioButton 修改选择框的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。