我正在尝试将这些材料文本字段与框轮廓样式一起使用。我看到有一个名为boxStrokeColor
的属性,它使我可以仅在文本字段突出显示时设置笔划 ,而在未突出显示时将其设置为全局主题{{1} }值。
在我们的应用中,用户可以为某些视图设置自己的背景色,我想将文本字段的笔触颜色更改为合适的对比色。
是否有任何干净的方法以编程方式设置未突出显示的框描边颜色?
答案 0 :(得分:0)
您可以使用 setBoxStrokeColorStateList
方法。
像这样:
textInputLayout.setBoxStrokeColorStateList(AppCompatResources.getColorStateList(this,R.color.text_input_layout_stroke_color));
它与选择器一起工作,如下:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="?attr/colorPrimary" android:state_focused="true"/>
<item android:alpha="0.87" android:color="?attr/colorOnSurface" android:state_hovered="true"/>
<item android:alpha="0.12" android:color="?attr/colorOnSurface" android:state_enabled="false"/>
<item android:alpha="0.38" android:color="?attr/colorOnSurface"/>
</selector>