Я сделал пользовательский вид, который состоит из двух TextInputLayout
Вот вид:

Я установил цвет подчеркивания на от синего до xml, применяя селектор к boxStrokeColor обеих ViewGroups. В какой-то момент они оба должны поменяться на красный, но когда я изменяю одно и то же свойство программно, цвет меняется только на одно из них.
fun setState(state: State) {
val (color, visibility) = when (state) {
State.NORMAL -> Pair(R.color.selector_key_input, View.INVISIBLE)
State.ERROR -> Pair(R.color.selector_key_input_error, View.VISIBLE)
}
firstInputLayout.boxStrokeColor = ContextCompat.getColor(context, color)
secondInputLayout.boxStrokeColor = ContextCompat.getColor(context, color)
incorrectTextView.visibility = visibility
}
Такое поведение Google добавил к этим компонентам. , Любые идеи, как установить цвет подчеркивания программно?
Это красный селектор, а синий - то же самое. Разница лишь в том, что синий цвет применяется непосредственно через xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="true" android:color="@color/red"/>
<item android:state_hovered="true" android:color="@color/red"/>
<item android:state_focused="true" android:color="@color/red"/>
<item android:color="@color/red"/>
</selector>