是否可以从res - colors更改颜色.xml :
<color name="transparent_color">#00000000</color>
在运行时?
更改它的原因是,在我的扩展编辑文本上,我像这样设置了背景资源:
setBackgroundResource(R.drawable.edittext_rounded_corners);
edittext_rounded_corners.xml看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<!-- res/drawable/edittext_rounded_corners.xml -->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:state_pressed="true"><shape>
<solid android:color="#FF8000" />
<stroke android:width="2.3dp" android:color="@color/referenceFrame" />
<corners android:radius="8dp" />
</shape></item>
<item android:state_focused="false" android:state_pressed="true"><shape>
<solid android:color="#FF8000" />
<stroke android:width="2.3dp" android:color="#FF8000" />
<corners android:radius="8dp" />
</shape></item>
<item android:state_focused="true" android:state_pressed="false"><shape>
<solid android:color="#FFFFFF" />
<stroke android:width="2.3dp" android:color="#FF8000" />
<corners android:radius="8dp" />
</shape></item>
<item android:state_focused="false" android:state_pressed="false"><shape>
<gradient android:angle="270" android:centerColor="#FFFFFF" android:endColor="#FFFFFF" android:startColor="#F2F2F2" />
<stroke android:width="0.7dp" android:color="#BDBDBD" />
<corners android:radius="8dp" />
</shape></item>
<item android:state_enabled="true"><shape>
<padding android:bottom="4dp" android:left="4dp" android:right="4dp" android:top="4dp" />
</shape></item>
</selector>
当我有错误时,我需要一种方法使@Color/参考帧变红。已经完成了错误处理,只需要一种方法来更改参考系
创建一个新的可绘制对象(或选择器,您需要的内容),并将referenceFrame
设置为红色。让我们将此文件称为edittext_error.xml
然后,当您遇到错误时,只需更改EditText的背景以指向新文件:
setBackgroundResource(R.drawable.edittext_error);