У меня есть поле для ввода номера телефона и маска для него. Я хочу, чтобы цвет кнопки был, например, черным, когда маска еще не полностью заполнена, и желтым, когда она заполнена.
Моя кнопка
<Button
android:id="@+id/buttonNext"
style="@style/AppTheme.YellowButton"
android:text="Далее"/>
Стиль
<style name="AppTheme.YellowButton" parent="Widget.MaterialComponents.Button.TextButton">
<item name="android:textSize">@dimen/text_size_20sp</item>
<item name="android:textColor">@color/color_accent</item>
<item name="android:textAllCaps">false</item>
<item name="android:textStyle">bold</item>
<item name="android:backgroundTint">@color/yellow_mail</item>
<item name="android:drawable">@color/selector_colored_button</item>
</style>
@ color / selector_colored_button
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="true" android:color="@color/yellow_mail"/>
<item android:state_enabled="false" android:color="@android:color/black"/>
</selector>
И код для него
MaskedTextChangedListener.installOn(
editText = editPhone,
primaryFormat = "[000] [000]-[00]-[00]",
valueListener = object : MaskedTextChangedListener.ValueListener {
override fun onTextChanged(
maskFilled: Boolean,
extractedValue: String,
formattedValue: String
) {
buttonNext.isEnabled = maskFilled
}
})
Но кнопка постоянно желтая, ее фон не меняется. Не уверен, что я делаю не так. Любая помощь? Я использую "com.google.android.material:material:1.2.0-alpha06"
и Theme.MaterialComponents.DayNight.NoActionBar