На изображении выше вы видите первую кнопку Home в нажатом состоянии.У него нет цвета фона, и мне нужно, чтобы он был черным (желательно, чтобы он был затенен аналогично цвету по умолчанию, показанному для других кнопок при сохранении изображения).Мне также нужно изменить цвет текста на белый.
У меня есть 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/ic_tab_about_pressed" /> <!-- pressed -->
<item android:state_selected="true"
android:drawable="@drawable/ic_tab_about_pressed" /> <!-- pressed -->
<item android:state_focused="true"
android:drawable="@drawable/ic_tab_about_pressed" /> <!-- pressed -->
<item android:drawable="@drawable/ic_tab_about_unpressed" /><!-- default/unchecked -->
</selector>
и:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MnuBtnStyle" parent="android:style/Widget.Button">
<item name="android:ellipsize">marquee</item>
<item name="android:scrollHorizontally">true</item>
<item name="android:singleLine">true</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_marginTop">1dip</item>
<item name="android:layout_marginBottom">1dip</item>
<item name="android:textSize">10dp</item>
<item name="android:layout_weight">1</item>
<item name="android:textColor">#000000</item>
<item name="android:typeface">monospace</item>
</style>
</resources>
Как мне этого добиться?
ОБНОВЛЕНИЕ
Мои требования к кнопке:
- Я должен иметь возможность изменить изображение для различных состояний
- Я должен иметь возможность изменитьтекст, использующий строки или код, который не беспокоит.
- Я должен иметь возможность установить цвет лица кнопки для значений по умолчанию и различных состояний.
Нужно ли создавать новый пользовательскийконтроль для достижения этого?Если это так, какой мой лучший подход, учитывая, что это мой первый проект для Android?