当前位置:  开发笔记 > Android > 正文

无法在样式中设置colorControlNormal和android:textColor

如何解决《无法在样式中设置colorControlNormal和android:textColor》经验,为你挑选了1个好方法。

我正在尝试设置材质EditText视图的样式:


然后我在我的主题上应用样式:


并将主题应用于活动:

  

但是,这并没有改变下划线颜色.

我知道我可以更改accentColor以更改下划线颜色,但我不想这样做,因为我需要我的强调颜色与其他一些控件不同.

我可以设置控件下划线颜色吗?



1> Tin Tran..:

原因,它不工作: colorControlNormal是的ATTR 主题,同时android:textColor是一个样式属性.要进行更改colorControlNormal,您必须覆盖主题,更改android:textColor值,您必须覆盖样式.没有命名的属性colorControlNormal@style/Widget.AppCompat.EditText全部或任何父母.因此,在执行此操作时,您完全没有任何要求:


解决方案: 要实际更改值colorControlNormal,您必须在主题中更改它.要在不更改活动主题的情况下执行此操作,您可以:

1 /创建仅包含您要更改的主题属性的ThemeOverlay:


2 /仅在您的EditText视图中使用它:


这里实际发生的是将使用View的主题属性(如果存在).活动的主题将用作后备.

您可以随时更改colorControlNormal活动的主题以影响整个活动.

推荐阅读
路人甲
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有