Я сделал свою кнопку прозрачной, поэтому я хочу изменить цвет текста кнопки при нажатии кнопки. Можно ли это сделать, используя только файлы xml?
Изменить цвет текста кнопки при нажатии
Ответ 1
См. раздел Список состояний в этом фрагменте документации... Ресурсы для рисования.
Вы можете определить два разных файла Button
xml для прозрачного состояния "по умолчанию", а другое - кнопкой "Красный" для вашего "нажатого" состояния. Затем вы определяете selector
, который переключает доступные ресурсы в разных состояниях.
РЕДАКТИРОВАТЬ: согласно принятому комментарию ресурс списка состояний цвета, вероятно, более подходит для изменения цвета, а не для самого выделенного.
Ответ 2
Да, вы можете сделать это так:
Макет/main_layout.xml:
.....
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="bonjour !"
android:textColor="@color/button_text_color"
/>
.....
цвет/button_text_color.xml:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="#c0c0c0" android:state_pressed="true"/>
<item android:color="#ffffff"/>
</selector>
Ответ 3
Вы должны сделать это в своем коде. Попробуйте следующее:
mBtn = ((Button) findViewById( R.id.button1 ));
mBtn.setOnClickListener( new OnClickListener() {
@Override
public void onClick(View v) {
mBtn.setTextColor( Color.RED );
}
});
Declare:
private Button mBtn;
Ответ 4
Вы должны установить ресурс @drawable
xml в textColor
attributte
Вот пример: Android настроенная кнопка; изменение цвета текста