当前位置:   article > 正文

android 动态修改 selector,Android 代码动态设置TextView的背景、颜色Selector

extview动态给textcolor设置selector

在Android里面,实现TextView等根据不同状态显示不同的背景和颜色是很简单滴,只需要设置对应的selector就好了!

背景选择器(res/drawable):

颜色选择器(res/color):

那么我们需要动态设置这些东西怎么写呢?这里就有两个类了:StateListDrawable,ColorStateList看这个名字就知道这两个类是来干嘛的了!

首先说下StateListDrawable

创建对应的StateListDrawable,通过addState (int[] stateSet, Drawable drawable)的方法添加我们指定的一些状态,可以看到第一个参数是一个数组,后面就是对应的Drawable。那么问题来了,一个状态的true或者false是怎么指定的呢?答案就是下面这个样子滴:

StateListDrawable states = new StateListDrawable();

states.addState(new int[]{-android.R.attr.state_checked}, getDrawable(android.R.drawable.ic_media_play));

states.addState(new int[]{android.R.attr.state_checked}, getDrawable(android.R.drawable.ic_delete));

return states;

前面有一个负号就是false的状态!

然后就是ColorStateList了,它的构造方法public ColorStateList(int[][] states, @ColorInt int[] colors),看着是不是有点儿腻害

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/293714
推荐阅读
相关标签
  

闽ICP备14008679号