Button按下改变颜色的原理和方法总结思考

来源:互联网 发布:魅力中国网络电视台 编辑:程序博客网 时间:2024/06/05 09:55

本人小白,所发内容仅供思考。

Button按下改变背景颜色的方法如下:

1、在activit_main.XML文件有如下的button:

<Button 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/button_selector"
    android:textSize="11px"
    android:text="带图片的文字按钮"
    />

上面的红色字体是重点,这里是用一张名称为“button_selector”的图片资源作为这个Button的背景的,奥妙就在这里:button_selector是通过xml文件描述出来的一个图片文件,在描述的语句里面做了按下的值为正还是假的判断,这样就可以实现按钮的背景在按下和放开的时候发生改变了。实现方法是,在drawable文件夹下新建button_selector.xml文件,如下:

button_selector.xml文件里的内容如下:


<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<!--     指定按钮按下是的图片 -->
<item android:state_pressed="true"
   android:drawable="@drawable/red"
   ></item>
<!-- 指定按钮松开时的图片 -->
<item android:state_pressed="false"
   android:drawable="@drawable/purple"
   />
</selector>

使用<selector.../>元素定义了一个stateListDrawable对象。这个元素我现在还不太了解,还没看到。

这样就实现了Button的背景在按下和放开是发生改变了。


就是通过使用<selector.../>元素来通过判断tem android:state_pressed="false"的正伪来显示不同的图片或颜色来实现改变的,

0 0
原创粉丝点击