Android 实现胶囊式按钮组
效果图:
实现过程:
一个RadioGroup+三个RadioButton,为每个RadioButton的background、textColor设置selector。
1.首先为RadioGroup设置圆角背景,在drawable资源文件下新建group_radio_shape_bg.xml
点击查看代码
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="30px"/>
<solid android:color="#d7dce0"/>
</shape>
2.为RadioButton设置选中、未选中时的背景颜色、字体颜色,新建btn_radio_shape.xml文件
点击查看代码
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:drawable="@drawable/group_radio_shape_check_bg" />
</selector>
新建btn_radio_color_selector.xml
点击查看代码
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:color="@color/colorWhite"/>
<item android:state_checked="false" android:color="@color/colorBlack"/>
</selector>
全部代码如下:
说明几个属性:
(1)android:button="@null" 去掉RadioButton的圆点
(2)android:checked="true" 默认被选中
点击查看代码
<RadioGroup
android:layout_width="wrap_content"
android:layout_height="64px"
android:layout_marginTop="20px"
android:gravity="center"
android:background="@drawable/group_radio_shape_bg"
android:orientation="horizontal">
<RadioButton
android:id="@+id/radioButton4"
android:layout_width="300px"
android:layout_height="match_parent"
android:background="@drawable/btn_radio_shape"
android:button="@null"
android:gravity="center"
android:text="低"
android:textColor="@drawable/btn_radio_color_selector"
android:textSize="30px" />
<RadioButton
android:id="@+id/radioButton5"
android:layout_width="300px"
android:layout_height="match_parent"
android:background="@drawable/btn_radio_shape"
android:button="@null"
android:gravity="center"
android:checked="true"
android:text="中"
android:textColor="@drawable/btn_radio_color_selector"
android:textSize="30px" />
<RadioButton
android:id="@+id/radioButton6"
android:layout_width="300px"
android:layout_height="match_parent"
android:background="@drawable/btn_radio_shape"
android:button="@null"
android:gravity="center"
android:text="高"
android:textColor="@drawable/btn_radio_color_selector"
android:textSize="30px" />
</RadioGroup>
本文来自博客园,作者:啊~人生~,转载请注明原文链接:https://www.cnblogs.com/the-shy-zhang/p/16316872.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】