如何使用setTextColor(ColorsStateList颜色)设置TextColor
我需要改变状态改变时的文本颜色(按下,焦点)…
如何使用ColorsStateList设置TextView的文本颜色?
编辑,解决:
textView.setTextColor (new ColorStateList ( new int [] [] { new int [] {android.R.attr.state_pressed}, new int [] {android.R.attr.state_focused}, new int [] {} }, new int [] { Color.rgb (255, 128, 192), Color.rgb (100, 200, 192), Color.White } ));
单击时更改TextView的背景颜色
如果您需要在代码中设置颜色(使用ColorStateList),但仍然希望将颜色状态保留在XML中,则可能需要使用以下代码:
try { XmlResourceParser parser = getResources().getXml(R.color.your_colors); ColorStateList colors = ColorStateList.createFromXml(getResources(), parser); mText.setTextColor(colors); } catch (Exception e) { // handle exceptions }
RES /颜色/ your_colors.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="#222222"/> <item android:state_selected="true" android:color="#222222"/> <item android:state_focused="true" android:color="#222222"/> <item android:color="#0000ff"/> </selector>
你必须使用getColorStateList()
我也在努力解决这个问题,如果你想使用state list
,你需要在color
资源文件夹中声明它,而不是drawable
文件夹,并使用setTextColor(getResources().getColorStateList(R.color.your_colors))
。
你也可以使用ContextCompat来加载一个颜色状态列表
ColorStateList colors = ContextCompat.getColorStateList(this,R.color.my_color_list);
- Android EditText,软键盘显示/隐藏事件?
- 以编程方式将TableRow添加到TableLayout不起作用
- 当AsyncTask.get()调用时,ProgressDialog不显示
- Android应用程序closures时,Android服务停止
- ScrollView内的Google Maps API v2 SupportMapFragment – 用户不能垂直滚动地图
- Android多个电子邮件附件使用意图
- NETWORK_PROVIDER的LocationListener已启用,但onLocationChanged永远不会被调用
- 将Java位图转换为字节数组
- TextView.setTextSize行为exception – 如何为不同的屏幕dynamic设置textview的文本大小