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

来源:互联网 发布:淘宝没发货退款要多久 编辑:程序博客网 时间:2024/05/20 10:12

首先,在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"/>   







0 0
原创粉丝点击