Я хочу иметь настраиваемый фон для пунктов меню, отображаемых в ActionBar
. Я узнал, что я могу сделать это, добавив следующий элемент в мое приложение определения темы стиля:Проблемы с дизайном Android ActionBar
<item name="android:actionBarItemBackground">@drawable/actionbar_button</item>
Где actionbar_button.xml
содержит:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/action_btn_on" android:state_pressed="true" />
<item android:drawable="@drawable/action_btn_off" />
</selector>
Однако, это вызывает фоновое изображение также оказывать позади пользовательский логотип приложения отображается слева от ActionBar. После нескольких попыток выяснить, селектор, который будет включать в себя только кнопки, я пришел с этим:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/action_btn_on" android:state_pressed="true" android:state_enabled="true" />
<item android:drawable="@drawable/action_btn_off" android:state_pressed="false" android:state_enabled="true"/>
<item android:drawable="@android:color/transparent"/>
</selector>
Какой-то работал, и после того, как приложение нагрузки полностью фон позади логотипа является прозрачным, как я хочу , Но проблема в том, что пока она по-прежнему загружается, на короткое время отображается логотип с фоном кнопки за ним и более раздражающе, он масштабирует и обрезает логотип, чтобы поместиться внутри области заполнения графического файла с 9 патчами, который является фоном кнопки. При завершении загрузки фон отключается, но масштабирование и обрезка остаются, что выглядит довольно уродливо. Как я могу это исправить?