我正在尝试设置材质EditText
视图的样式:
然后我在我的主题上应用样式:
并将主题应用于活动:
但是,这并没有改变下划线颜色.
我知道我可以更改accentColor以更改下划线颜色,但我不想这样做,因为我需要我的强调颜色与其他一些控件不同.
我可以设置控件下划线颜色吗?
原因,它不工作:
colorControlNormal
是的ATTR 主题,同时android:textColor
是一个样式属性.要进行更改colorControlNormal
,您必须覆盖主题,更改android:textColor
值,您必须覆盖样式.没有命名的属性colorControlNormal
的@style/Widget.AppCompat.EditText
全部或任何父母.因此,在执行此操作时,您完全没有任何要求:
解决方案:
要实际更改值colorControlNormal
,您必须在主题中更改它.要在不更改活动主题的情况下执行此操作,您可以:
1 /创建仅包含您要更改的主题属性的ThemeOverlay:
2 /仅在您的EditText
视图中使用它:
这里实际发生的是将使用View的主题属性(如果存在).活动的主题将用作后备.
您可以随时更改colorControlNormal
活动的主题以影响整个活动.