android 状态切换按钮,Android按钮状态的切换

  • Post author:
  • Post category:其他

1.概述android中按钮控制页面切换的场景还是非常多的。实现的方式也是多种多样,下面介绍一种radioGroup实现,特别简单。效果图:2。代码解析

其实很简单,设置最左侧的radioButton的左下和坐上的弧度显示,中间radioButton的弧度不显示和右侧radioButton的右下右上弧度显示而已。

第一步简单的布局,实现radioGroup嵌套radioButton,可以根据项目需求进行简单的页面调整。代码:

android:layout_width=”200dp”

android:layout_height=”50dp”

android:layout_centerInParent=”true”

android:background=”@drawable/radiogroup_back”

android:orientation=”horizontal”

android:padding=”1dp”>

style=”@style/buttonset”

android:background=”@drawable/button_selector”

android:checked=”true”

android:text=”昨天” />

android:layout_width=”1dp”

android:layout_height=”match_parent”

android:background=”#0172c6″ />

style=”@style/buttonset”

android:background=”@drawable/button_selector_middle”

android:text=”今天” />

android:layout_width=”1dp”

android:layout_height=”match_parent”

android:background=”#0172c6″ />

style=”@style/buttonset”

android:background=”@drawable/button_selector_right”

android:text=”明天” />

第二步,设置radioGroup的background。radiogroup_back代码如下:

android:shape=”rectangle”>

android:width=”1dp”

android:color=”#0172c6″ />

第三步,设置radioButton的style,简单设置及文字变化,style buttonset代码如下:

0dp

center

match_parent

1.0

@null

@drawable/textcolor_chose

textcolor_chose 配置

第四步:左边radioButton的背景设置 button_selector:

选中获得焦点的设置 button_checked :

android:shape=”rectangle”>

android:bottomLeftRadius=”4dp”

android:topLeftRadius=”4dp” />

默认未选中状态 button_selector_shape:

android:shape=”rectangle”>

android:bottomLeftRadius=”5dp”

android:topLeftRadius=”5dp” />

android:width=”1dp”

android:color=”#00000000″ />

第五步:中间radioButton的背景设置 button_selectormiddle

选中获取焦点的drable设置 button_selector_middle_shape

默认未选状态 button_selector_middle_nomal

android:shape=”rectangle”>

android:width=”1dp”

android:color=”#00000000″ />

第六步:右侧radioButton的背景设置 button_selector_right

选中获取焦点的drable设置 button_right_shape

android:bottomRightRadius=”4dp”

android:topRightRadius=”4dp” />

默认未选中状态 button_right_shape_nomal

android:bottomRightRadius=”5dp”

android:topRightRadius=”5dp” />

android:width=”1dp”

android:color=”#00000000″ />