【Android 初级知识】文字颜色 背景 触摸点击 反馈色 之selector的那些事儿

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android=“http://schemas.android.com/apk/res/android”

xmlns:tools=“http://schemas.android.com/tools”

android:layout_width=“match_parent”

android:layout_height=“match_parent”

android:background=“#4646aa”

android:paddingBottom=“@dimen/activity_vertical_margin”

android:paddingLeft=“@dimen/activity_horizontal_margin”

android:paddingRight=“@dimen/activity_horizontal_margin”

android:paddingTop=“@dimen/activity_vertical_margin”

tools:context=“mcxtzhang.selectordemo.MainActivity”>

<ImageView android:layout_width=“wrap_content”

android:layout_height=“wrap_content”

android:background=“@drawable/selector_background_btn”

android:clickable=“true” />

selector_background_btn.xml 文件如下:

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android=“http://schemas.android.com/apk/res/android”>

<item android:drawable=“@drawable/btn_pressed” android:state_pressed=“true” />

================================================================

二:为 文字设置Selector

以上为众所周知的做法,可是今天的同事问我 TextView Button 等能显示文字的控件,上面的TextColor能用Selector做么?我不假思索的回答,当然可以。做法如下:

<Button

android:layout_marginTop=“100dp”

android:textColor=“@drawable/selector_color_text”

android:text=“测试颜色变色不”

android:layout_width=“wrap_content”

android:layout_height=“wrap_content” />

对应Selector文件如下:

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android=“http://schemas.android.com/apk/res/android”>

<item android:color=“#fdfffe” android:state_pressed=“true” />

这里有个坑点是,一开始我用

<item android:color=“#fdfffe” android:state_pressed=“true” />

这种把android:color 写成硬编码的形式,可是会报错无效果,反正出不来结果。

后来搜了一下资料,说是要把color的值也写在xml里(colos.xml),然后在Selector文件里引用,如 @color/xxx。

或者引用系统的,如

<ite

  • 10
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值