Я сделал кнопку, которая изменяет фон для рисования в разных состояниях, таким образом:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/btn_location_pressed" /> <!-- pressed -->
<item android:state_focused="true" android:drawable="@drawable/btn_location_pressed"/> <!-- focused -->
<item android:drawable="@drawable/btn_location"/> <!-- default -->
Проблема здесь в том, что я также пытаюсь изменить textColor, как я делаю с рисованием, но я не могу. Я уже пробовал android: textColor и android: color, но первый не работает, а секунды меняют фон.
Следующий код является частью моего макета. Что касается цвета текста, он работает только для цвета текста нормального состояния, таким образом, не изменяя его на белый при нажатии
<Button android:id="@+id/location_name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingTop="5dp"
android:background="@drawable/location"
android:textSize="15sp"
android:textColor="@color/location_color"
android:textColorHighlight="#FFFFFF"
/>
У кого-нибудь есть подсказка?
res/color
папке. И когда звоните, используйте:android:textColor="@color/button_text_color"
Еще один способ сделать это в вашем классе:
источник
хорошо, очень просто сначала перейдите к 1. res-valuse и откройте colors.xml 2. скопируйте 1 определенного текста, например, # FF4081, и измените имя, например, я изменил на белый и измените его значение, например, я изменил на #FFFFFF для значение белого, как это
затем внутри вашей кнопки добавьте эту строку
ok b3 - это имя моей кнопки, поэтому изменилось название вашей кнопки. Все остальные будут такими же, если вы используете белый цвет, если вы меняете другой цвет, затем меняйте белый на имя вашего цвета, но сначала вы определили этот цвет в цветах. XML, как я объяснил в Pont 2
источник
Изменение цвета текста кнопки
Потому что этот метод сейчас устарел
Я использую следующее:
источник
Используйте
getColorStateList
как этовместо того
getColor
источник