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 修改选择框的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 微信个性签名不见了
- 下一篇: Vue 生命周期记录_学习笔记