zoukankan      html  css  js  c++  java
  • TextView点击后背景颜色、文字颜色改变(转)

    转自:http://blog.csdn.net/u013278940/article/details/51152655

    TextView本没有点击效果,故为实现点击后文字颜色改变和背景改变,需要写selector进行点击时颜色的替换。效果图如下:

    未点击时:字颜色为黑色,背景为系统默认颜色。点击时:字体颜色为绿色,背景色为粉色。如下图所示:

    布局文件:

    res/layout/activity_main.xml

    [html] view plain copy
     
    1. <TextView  
    2.       android:layout_width="fill_parent"  
    3.       android:layout_height="60dp"  
    4.       android:paddingLeft="25dp"  
    5.       android:gravity="center_vertical"  
    6.       android:text="@string/hello_world"   
    7.       android:textSize="25dp"  
    8.       android:textColor="@color/textcolor_selector"  
    9.       android:background="@drawable/background_selector"  
    10.       android:clickable="true"  
    11.       android:focusable="true"/>  


    文字颜色:

    res/color/textcolor_selector.xml

    [html] view plain copy
     
    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <selector xmlns:android="http://schemas.android.com/apk/res/android">  
    3.     <item android:state_focused="true" android:color="@color/green"></item>  
    4.     <item android:state_checked="true" android:color="@color/green"></item>  
    5.     <item android:state_pressed="true" android:color="@color/green"></item>  
    6.     <item android:color="@color/black"/>  
    7. </selector>  

    背景颜色
    res/drawable/background_selector.xml

    [html] view plain copy
     
    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <selector xmlns:android="http://schemas.android.com/apk/res/android" >  
    3.     <item android:state_focused="true" android:drawable="@color/pink"></item>  
    4.     <item android:state_checked="true" android:drawable="@color/pink"></item>  
    5.     <item android:state_pressed="true" android:drawable="@color/pink"></item>  
    6. </selector>  


    涉及颜色值:

    res/values/color.xml

    [html] view plain copy
     
    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <resources>  
    3.     <color name="white">#ffffffff</color>  
    4.     <color name="black">#ff000000</color>  
    5.     <color name="pink">#ffffcbd7</color>  
    6.     <color name="green">#ffbae4b6</color>      
    7. </resources>  

    注意事项:

    textview控件默认没有点击和焦点的,所以需要在布局文件中把clickable和focusable的值手动添加为true。

    Demo下载:

    网址:https://github.com/duhuan2015/TextViewTest    点击下载

  • 相关阅读:
    Java面向对象
    Java方法
    Java控制语句
    Java接收用户键盘输入
    Java运算符
    Java类型转换
    Java的加载与执行
    Java关键字
    Java常见的DOS命令及JDK
    nginx学习要点记录
  • 原文地址:https://www.cnblogs.com/weizhxa/p/8268467.html
Copyright © 2011-2022 走看看