Add*_*dev 6 xml android material-design
之前我问过如何自定义 TextInputLayout 的轮廓颜色。您可以在此链接中查看问题。
在我的应用程序中声明此颜色:
<color name="mtrl_textinput_default_box_stroke_color" tools:override="true">#fff</color>
Run Code Online (Sandbox Code Playgroud)
这有效,但会更改应用程序中所有 TextInputLayout 的线条颜色。如何将不同的颜色应用于同一应用程序中的不同 TextInputLayout?
谢谢
好吧,你总是可以使用旧的反射,直到谷歌弄清楚我们如何访问像这样的简单且相当基本的东西。TextInputLayout 类中的字段称为 defaultStrokeColor,因此如果将其设置为可访问并更改值,那么在现实世界中它也应该更改。
try {
Field field = TextInputLayout.class.getDeclaredField("defaultStrokeColor");
field.setAccessible(true);
field.set(commentInputLayout,
ContextCompat.getColor(itemView.getContext(), R.color.app_middleweight));
}
catch (NoSuchFieldException | IllegalAccessException e) {
Log.w("TAG", "Failed to change box color, item might look wrong");
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1690 次 |
最近记录: |