Кнопка Android с фоновым изображением и текстом, а также с возможностью сохранения состояния - PullRequest
1 голос
/ 29 февраля 2012

Я хочу создать «кнопку» в макете XML (если это возможно), который имеет фоновое изображение на основе состояния (это изображение НЕ 9-исправлено) и с текстом.Какой компонент использовать?

Мой button_states.xml выглядит следующим образом:

<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@drawable/my_pressed" />
    <item android:drawable="@drawable/my_normal" />
</selector>

my_pressed и my_normal являются НЕ 9-пропатченными изображениями.

Теперь, если я использую обычную кнопку

<Button
    android:id="@+id/my_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/button_states"
    android:text="@string/my_text" />

, она отображается без фонового изображения.

Как сделать "кнопку" с текстом и статическими "статическими" фонами?

Thx

С уважением

1 Ответ

0 голосов
/ 29 февраля 2012

Самый простой способ сделать это - сделать это в коде. Используйте setBackgroundDrawable() на (обычной) кнопке, чтобы установить нужный фон. Если вы используете свой селектор в качестве предоставленного отрисовки, у вас все будет в порядке.

[Редактировать] Чтобы сделать это с помощью ресурсов, поместите ваш button_state.xml в папку res \ drawable, используя следующий код:

Button button = (Button) findViewById(R.id.my_button);
button.setBackgroundResource(R.drawable.button_state);
...