RadioGroup与FrameLayout配合时,需要点击RadioButtion改变颜色,可以改变图片
2017-10-17 08:45
323 查看
1. 首先在drawable中新建 Drawable Resource File文件 这个文件要在选中Project工程时候才能创建,右键
drawable,第一个new一个 Drawable Resource File文件 !2.
在Drawable Resource File中 写入以下代码
<item android:state_checked="true" android:drawable="@color/select"/> <item android:state_checked="false" android:drawable="@color/noselect"/> <item android:drawable="@color/noselect"/> //选中状态,未选中状态,默认状态3.
被引用的文件 在values的colours.xml中
<color name="select">#FF4081</color> //选中时的颜色 <color name="noselect">#fff</color> //未选中时的颜色
//布局
<FrameLayout
android:id="@+id/main_frameLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/main_radioGroup">
</FrameLayout>
<RadioGroup
android:id="@+id/main_radioGroup"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="horizontal">
<RadioButton
android:id="@+id/rb01"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:text="首页"
android:button="@null"
android:gravity="center"
android:checked="true" //默认选中状态
android:background="@drawable/radio_selector" //背景引用文件 />
<RadioButton
android:id="@+id/rb02"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:text="想法"
android:button="@null"
android:gravity="center"
android:background="@drawable/radio_selector"/>
<RadioButton
android:
cab2
id="@+id/rb03"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:text="市场"
android:button="@null"
android:gravity="center"
android:background="@drawable/radio_selector"/>
<RadioButton
android:id="@+id/rb04"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:text="通知"
android:button="@null"
android:gravity="center"
android:background="@drawable/radio_selector" />
<RadioButton
android:id="@+id/rb05"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:text="更多"
android:button="@null"
android:gravity="center"
android:background="@drawable/radio_selector" />
</RadioGroup>
/////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////
//使用RadioGroup实现点击切换Radiobutton切换背景图片
1.定义你写的RadioGroup控件-----例如下:
<RadioGroup
android:id="@+id/radiogroup"
android:layout_width="match_parent"
android:orientation="horizontal"
android:layout_alignParentBottom="true"
android:layout_height="40dp">
<RadioButton
android:id="@+id/home_button"
android:button="@null"
android:checked="true"
android:gravity="center"
android:background="@drawable/home_selector"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
/>
<RadioButton
android:id="@+id/voide_button"
android:button="@null"
android:gravity="center"
android:background="@drawable/voide_selector"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
/>
<RadioButton
android:id="@+id/headitem_button"
android:button="@null"
android:gravity="center"
android:background="@drawable/head_selector"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
/>
<RadioButton
android:id="@+id/my_button"
android:button="@null"
android:gravity="center"
android:background="@drawable/my_selector"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
/>
</RadioGroup>
总体意思就是点击不同的按钮,切换不同的图片 选中图片有选中的图片,未选中有未选中的图片
2.在drawable 下 右键 New drawable resource file
起一个文件名 File Name 下面 Root element 选择 selector类型
(这里每一个RadioButton都需要引用一个,以上方今日头条为例,
所以需要建4个New drawable resource file)
-----每个里边放你的一个RadioButton对应的一个红色点击的图片和未点击的白色图片
里边代码如下------
例:
需要写与上面Radiobutton对应的个数,例我上面写了四个RadioButton
我这里也要写4个对应的selector
解释一下:参考
第一个<item android:state_checked="true" android:drawable="@drawable/yx2"/>
--@drawable/yx2是选中时的图片
第二个<item android:state_checked="true" android:drawable="@drawable/yx2"/>
--@drawable/wx2是选中时的图片
第三个<item android:drawable="@drawable/yx2"/>--@drawable/wx2是默认的图片
<?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/yx2"/>
<item android:state_checked="false" android:drawable="@drawable/wx2"/>
<item android:drawable="@drawable/wx2"/>
</selector>
3. 3.1:给第一个默认展示的RadioButton设置 android:checked="true"默认选中
3.2:给每个RadioButton设置对应select.xml
代码:android:background="@drawable/my_selector"
(注)这里的my_selector是每个引用的都不是一样的
相关文章推荐
- RadioGroup的Radiobutton点击时改变字体颜色和背景颜色(采用Xml文件设置)
- 如何实现点击tabBar,让item改变图片,或者说是改变颜色
- 让鼠标点击有链接的图片文字时颜色不发生改变
- Android RadioGroup的RadioButton 选择改变字体颜色和背景颜色
- iOS 点击cell改变背景颜色或者图片&&cell中其他部分取消高亮显示
- 点击某个按钮切换图片(按钮颜色跟着改变)
- 点击某个按钮切换图片、文字描述(按钮颜色跟着改变)(简化代码)
- 安卓中自定义点击按钮,点击可以改变颜色
- RadioGroup选择改变背景和字体颜色
- Android 使用ViewPager和RadioGroup配合Fragment实现标签页,可点击按钮切换、滑动切换。
- [Android学习笔记]fragment配合RadioGroup实现点击切换内容
- HttpServletResponse getOutputStream 点击超链接更换图片(需要js函数的配合)
- 点击图片改变颜色变化
- Fragment配合RadioGroup实现点击切换布局
- RadioGroup 的 RadioButton 选择改变字体颜色和背景颜色(通过XML设置)
- RadioGroup 的 RadioButton 选择改变字体颜色和背景颜色
- FrameLayout+RadioGroup、RadioButton 点击按钮跳转页面
- radio和label关联问题,点击label改变颜色
- RadioGroup 的 RadioButton 选择改变字体颜色和背景颜色
- FrameLayout加RadioGroup实现底部点击切换