Textview 设置selector

本文介绍如何使用Selector在Android中为TextView创建点击效果,使得按压时字体颜色变化,松开后恢复原色。通过在res/color创建textview_selector文件并定义状态,然后在XML布局或代码中引用,可以简洁地实现这一功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


先说下要求:碰到一个问题就是如何实现当按下TextView的时候字体能变颜色,松开之后又能恢复原来的颜色。自己开始想到的方法是设置TextView的onTouchListener,当按下时改变字体的颜色,松开时还原自己的颜色。虽然这种方法可以实现我的需求,但是这样代码似乎写的有点臃肿。后面又找到一种新的方法,在这里记录同时分享下:
     1,在res/color 文件夹中建立textview_selector,定义如下:
             
<?xml version= "1.0" encoding ="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_pressed ="true" android:color="@android:color/holo_blue_dark" />
    <item android:color ="@android:color/black" />
</selector>
     2,引用的方式有两种,一种是在xml中引用:
    <TextView
        android:id= "@+id/test_tv"
        android:layout_height="wrap_content"
        android:layout_width= "wrap_content"
        android:textColor= "@color/textview_selector"
        android:text= "@string/app_name"
        android:textSize= "40sp"/>
          另外一种是在代码中设置:
          TextView underlineTextView = (TextView) findViewById(R.id.test_tv );
          underlineTextView.setTextColor(getResources().getColorStateList   (R.color. textview_selector));
          underlineTextView. setOnClickListener(new OnClickListener() {
              
               @Override
               public void onClick(View arg0) {
                   Log. d(TAG, "onClicked....");
              }
          });


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值