I'm using the new ActionBarCompat support library.
The action buttons in the actionbar should change their background when pressed, It works with Android 4.3 but not with Gingerbread.
In Gingerbread if I press on a button it will not change the background.
I even changed the selector:
<style name="Theme.MyCustomTheme" parent="@style/Theme.AppCompat.Light">
<item name="selectableItemBackground">@drawable/actionbar_item_bg_selector</item>
</style>
And again it is working with Android 4.3 but not with Gingerbread. Is this a bug ?
I figured out what was the problem. You should copy the android selector and modify it.
styles.xml
<style name="Theme.NewTransaction" parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="selectableItemBackground">@drawable/actionbar_item_bg_selector</item>
</style>
actionbar_item_bg_selector.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_window_focused="false" android:drawable="@color/transparent" />
<!-- Even though these two point to the same resource, have two states so the drawable will invalidate itself when coming out of pressed state. -->
<item android:state_focused="true" android:state_enabled="false" android:state_pressed="true" android:drawable="@drawable/list_selector_background_disabled" />
<item android:state_focused="true" android:state_enabled="false" android:drawable="@drawable/list_selector_background_disabled" />
<item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/list_selector_background_transition" />
<item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/list_selector_background_transition" />
<item android:state_focused="true" android:drawable="@drawable/list_selector_background_focused" />
<item android:drawable="@color/transparent" />
</selector>
I think my problem was related to this comment:
Even though these two point to the same resource, have two states so the drawable will invalidate itself when coming out of pressed state.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With