Android按钮状态的切换
来源:互联网 发布:浙江诸暨淘宝司法拍卖 编辑:程序博客网 时间:2024/05/21 05:42
1.概述android中按钮控制页面切换的场景还是非常多的。实现的方式也是多种多样,下面介绍一种radioGroup实现,特别简单。效果图:2。代码解析其实很简单,设置最左侧的radioButton的左下和坐上的弧度显示,中间radioButton的弧度不显示和右侧radioButton的右下右上弧度显示而已。第一步简单的布局,实现radioGroup嵌套radioButton,可以根据项目需求进行简单的页面调整。代码:<RadioGroup android:layout_width="200dp" android:layout_height="50dp" android:layout_centerInParent="true" android:background="@drawable/radiogroup_back" android:orientation="horizontal" android:padding="1dp"> <RadioButton style="@style/buttonset" android:background="@drawable/button_selector" android:checked="true" android:text="昨天" /> <View android:layout_width="1dp" android:layout_height="match_parent" android:background="#0172c6" /> <RadioButton style="@style/buttonset" android:background="@drawable/button_selector_middle" android:text="今天" /> <View android:layout_width="1dp" android:layout_height="match_parent" android:background="#0172c6" /> <RadioButton style="@style/buttonset" android:background="@drawable/button_selector_right" android:text="明天" /></RadioGroup>第二步,设置radioGroup的background。radiogroup_back代码如下:<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <!--外部线的宽度和颜色设置--> <stroke android:width="1dp" android:color="#0172c6" /> <!--外部线的弧度--> <corners android:radius="5dp" /> <!--内部背景颜色--> <solid android:color="#ffffff" /></shape>第三步,设置radioButton的style,简单设置及文字变化,style buttonset代码如下:<!--设置radiobutton的字体颜色--><style name="buttonset"> <item name="android:layout_width">0dp</item> <item name="android:gravity">center</item> <item name="android:layout_height">match_parent</item> <item name="android:layout_weight">1.0</item> <item name="android:button">@null</item> <item name="android:textColor">@drawable/textcolor_chose</item></style>textcolor_chose 配置<selector xmlns:android="http://schemas.android.com/apk/res/android"> <!--选中状态--> <item android:color="#ffffff" android:state_selected="true" /> <item android:color="#ffffff" android:state_checked="true" /> <item android:color="#ffffff" android:state_pressed="true" /> <!--默认状态--> <item android:color="#000000" /></selector>第四步:左边radioButton的背景设置 button_selector:<selector xmlns:android="http://schemas.android.com/apk/res/android"> <!--选中获得焦点状态--> <item android:drawable="@drawable/button_checked" android:state_focused="true" /> <item android:drawable="@drawable/button_checked" android:state_checked="true" /> <item android:drawable="@drawable/button_checked" android:state_pressed="true" /> <!--默认未选中的状态--> <item android:drawable="@drawable/button_selector_shape" /></selector>选中获得焦点的设置 button_checked :<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <!--内部背景颜色--> <solid android:color="#0172c6" /> <!--外部线的颜色和弧度--> <corners android:bottomLeftRadius="4dp" android:topLeftRadius="4dp" /></shape>默认未选中状态 button_selector_shape:<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <!--内部背景颜色--> <solid android:color="#ffffff" /> <!--外部线的弧度--> <corners android:bottomLeftRadius="5dp" android:topLeftRadius="5dp" /> <!--外部线的宽度和颜色设置--> <stroke android:width="1dp" android:color="#00000000" /></shape>第五步:中间radioButton的背景设置 button_selectormiddle <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!--选中获取焦点状态--> <item android:drawable="@drawable/button_selector_middle_shape" android:state_focused="true" /> <item android:drawable="@drawable/button_selector_middle_shape" android:state_checked="true" /> <item android:drawable="@drawable/button_selector_middle_shape" android:state_pressed="true" /> <!--默认未选中状态--> <item android:drawable="@drawable/button_selector_middle_nomal" /></selector>选中获取焦点的drable设置 button_selector_middle_shape<shape xmlns:android="http://schemas.android.com/apk/res/android"> <!--设置背景颜色--> <solid android:color="#0172c6" /></shape>默认未选状态 button_selector_middle_nomal<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <!--内部背景颜色--> <solid android:color="#ffffff" /> <!--设置外围宽度及颜色--> <stroke android:width="1dp" android:color="#00000000" /></shape>第六步:右侧radioButton的背景设置 button_selector_right<selector xmlns:android="http://schemas.android.com/apk/res/android"> <!--选中获取焦点的状态--> <item android:drawable="@drawable/button_right_shape" android:state_focused="true" /> <item android:drawable="@drawable/button_right_shape" android:state_checked="true" /> <item android:drawable="@drawable/button_right_shape" android:state_pressed="true" /> <!--默认未选中状态--> <item android:drawable="@drawable/button_right_shape_nomal" /></selector>选中获取焦点的drable设置 button_right_shape<shape xmlns:android="http://schemas.android.com/apk/res/android"> <!--内部背景颜色--> <solid android:color="#0172c6" /> <!--设置右下和右上的弧度--> <corners android:bottomRightRadius="4dp" android:topRightRadius="4dp" /></shape>默认未选中状态 button_right_shape_nomal<shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#ffffff" /> <!--设置右下右上弧度--> <corners android:bottomRightRadius="5dp" android:topRightRadius="5dp" /> <!--设置外部线宽度和颜色不显示--> <stroke android:width="1dp" android:color="#00000000" /></shape>
0 0
- Android按钮状态的切换
- 切换同一个按钮的状态
- UI--Android中的状态切换按钮自定义
- UI--Android中的状态切换按钮自定义
- jQuery按钮切换disabled状态
- 安卓三状态切换按钮TriStateToggleButton
- Gtk+实现非规则按钮的不同状态图片切换
- Gtk+实现非规则按钮的不同状态图片切换
- 状态可以通过动画切换的按钮--第三方开源--TickPlusDrawable
- Android Fragment实现按钮间的切换
- android 适配器里面的按钮点击切换
- Android Fragment实现按钮间的切换
- Android Fragment实现按钮间的切换
- Android Fragment实现按钮间的切换
- android 控制按钮各个状态的样式
- Android获取一个按钮的状态
- Android获取一个按钮的状态
- Android ToggleButton:状态切换的Button
- django 环境搭建
- MyBatis批量更新
- maven安装配置
- centos 7 32位下载地址
- android怎么获得,api的debug签名
- Android按钮状态的切换
- ExtJS之Ext.Ajax.request用法详解
- Java PrintWriter无法写入的问题
- MTK源码编译 [gcc]: unknown (64-bit) [FAIL]
- wingIDE5切换python版本
- enum
- 第十三周 项目5拓扑排序
- Linux系统配置开机启动默认进入命令行模式
- pb9 通过ole db连接sqlite3数据库