我有一个AppCompatEditText(AndroidX版本),我需要在运行时更改backgroundTint。 目前,我正在使用databind,因此,如果可能的话,我仅需要使用颜色选择器即可实现。
我知道有一种主题方法,例如: Change Edit Text Underline Color to be the same when off focused & focused
但这对我不起作用。
EditText定义进入我的布局:
<com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/some_hint"
android:backgroundTint="@color/my_custom_tint"/>
我的色彩的定义
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true"
android:color="#F00"/>
<item android:state_checked="true"
android:color="#0F0"/>
<item android:color="#00F"/>
</selector>
当我加载片段时,色调会起作用,并且我可以在底行看到蓝色。但是,当我将焦点设置为EditText时,将显示colorAccent。 当光标位于EditText中时,我的色调不正确。
正如我所说,我需要这种方法,因为稍后,我将使用databind提供颜色选择器之一来填充backgroundTint属性。 这就是为什么我还试图避免使用ViewCompat.set ...设置色调的原因。
预先感谢