Как изменить цвет текста при смене состояния кнопки?
Есть кнопка, которая меняет своё состояние, в зависимости от условия. Мне нужно чтобы она дополнительно меняла цвет текста с "#ECE1DF" на "#000000#. Заранее благодарен!
activity_main.xml:
<Button
android:id="@+id/send_button"
android:layout_width="200dp"
android:layout_height="48dp"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:layout_marginBottom="8dp"
android:textSize="20sp"
android:textColor="#ECE1DF"
android:enabled="false"
android:text="Активировать"
android:textAllCaps="false"
android:background="@drawable/custom_button" />
custom_button.xml:
<shape android:shape="rectangle" xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@android:color/white"/>
<corners android:radius="14dp"/>
</shape>
MainActivity.java:
e1.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
b1.setEnabled(s.length() >= 6 && s.length() <= 9);
}
@Override
public void afterTextChanged(Editable s) {
}
});
Ответы (1 шт):
Автор решения: Andrew
→ Ссылка
Изменить фон кнопки программно можно таким способом:
((Button)v).setTextColor(Color.parseColor("#000000"));
ну и дальше вставьте это в блок условия:
if(s.length() >= 6 && s.length() <= 9){
((Button)v).setTextColor(Color.parseColor("#000000"));
}
в else добавьте другой цвет например