您的位置:首页 > 移动开发 > Android开发

android 在 button、textview等控件按下和选中的时候改变颜色或图片实现方法

2014-10-13 23:03 711 查看
首先,在res文件夹下新建一个文件夹drawable,这是无关分辨率的:

在下面建立一个xml文件:select.xml

方法1

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

<!-- state_selected为true是选中,add_managebg_down、add_managebg是图片放在drawable文件夹下-->
<!--
<item android:drawable="@drawable/add_managebg_down" android:state_selected="true"/>
<item android:drawable="@drawable/add_managebg" android:state_selected="false"/>

-->
<!-- state_pressed为true是按下,normal、pressed是颜色代码在value文件夹下的string.xml文件里添加-->
<item android:drawable="@drawable/normal" android:state_pressed="true"/>
<item android:drawable="@drawable/pressed" android:state_pressed="false"/>

</selector>

方法2

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:state_pressed="true">
<shape><!--shape是用来定义形状的-->
<corners android:radius="8px" /><!--corners 圆角。corners节点配置四周园角的半径-->

<stroke android:width="1dp" android:color="#EEE5DE" /><!--stroke 描边。-->

<gradient android:angle="45" android:centerColor="#ffffff" android:endColor="#FFAEEEEE" android:startColor="#FFAEEEEE" />
<!--gradient定义该形状里面为渐变色填充,startColor起始颜色,endColor结束颜色,centerColor中间颜色,,angle表示方向角度。
当angle=0时,渐变色是从左向右。 然后逆时针方向转,当angle=90时为从下往上。-->
</shape>

</item>

<item>
<shape>
<corners android:radius="8px" />

<stroke android:width="1dp" android:color="#EEE5DE" />

<gradient android:angle="45" android:centerColor="#FFAEEEEE" android:endColor="#ffffff" android:startColor="#ffffff" />
</shape>

</item>

</selector>

在res文件夹下的value文件夹下的string.xml文件里添加:

<drawable name="normal">#ff6501</drawable>
<drawable name="pressed">#a44100</drawable>


TextView添加android:background="@drawable/select"

<TextView android:id="@+id/tab_label"
android:layout_width="fill_parent"
android:layout_height="50.0dip"
android:gravity="center"
android:textColor="#ffffff"
android:background="@drawable/select"
android:textSize="26sp"/>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐