`

android自定义TextView点击效果

阅读更多

在android开发中,按钮是经常要用到的,要做到按下去有点击效果的,需要给按钮定义一个可点击的drawable。而且,一般我都不会去用button控件,我一般都是用TextView当按钮的。

关于drawable的定义,可参考另一篇文章http://dzc.iteye.com/blog/2161759

1.首先,我们要自己定义一个可点击的drawable,在res下的drawable文件夹新建一个xml文件selector_bg.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/pressed"/>
    <item android:drawable="@drawable/normal"/>
</selector>

// <item android:state_pressed="true" android:drawable="@drawable/pressed"/> 这一行代码的作用是定义当用户按下的时候显示pressed   drawable,pressed可以是一张图片,也可以是一个xml文件

//<item android:drawable="@drawable/normal"/>  这一行定义的是当用户什么都没做的时候的drawable

 

2.我们可以在TextView中指定android:background="@drawable/selector_bg"

这样,TextView就具有了点击时和没点击时显示不同背景的效果

 

3.当然,对于TextView的text我们也可以做成这种效果 ,在res下新建一个color的文件夹,新建一个xml文件,selector_color_bg.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:color="@color/color_pressed"/>
    <item android:color="@color/color_normal"/>
</selector>

其中,color_pressed和color_normal是res/values/colors.xml中定义的颜色

4.在TextView中为text指定颜色android:textColor="@color/selector_user_sign_up_button_text_color"

这样,文字也就会有点击反馈

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics