更改AppCompatEditText backgroundTint运行时XML

时间:2019-06-05 13:53:16

标签: android xml colors

我有一个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 ...设置色调的原因。

预先感谢

0 个答案:

没有答案