Change actionbar button background color when pressed

后端 未结 2 513
长情又很酷
长情又很酷 2020-12-16 01:12

If I press a button in the action bar, then its background color is not what I want. The background color of my item doesn\'t respond to my click event. How can I change thi

相关标签:
2条回答
  • You need to declare android:actionBarItemBackground attribute which is a:

    Custom item state list drawable background for action bar items.

    Then, in your styles do as follows:

    <style name="CustomStyle" parent="@style/Theme.Holo.Light" >
        <item name="android:actionBarItemBackground">@drawable/ab_item_background</item>
        <item name="actionBarItemBackground">@drawable/ab_item_background</item>
    </style>  
    

    So, put your own drawable with a selector and every state (pressed, focused, disabled, etc) to have the expected background. For example, the drawable ab_item_background.xml declared above might be like this:

    <selector xmlns:android="http://schemas.android.com/apk/res/android" 
        android:exitFadeDuration="@android:integer/config_mediumAnimTime">
        <!-- focused/pressed: color=red -->
        <item 
            android:state_focused="true"
            android:state_pressed="true"
            android:drawable="@color/red" />
        <!-- pressed: color=red -->
        <item 
            android:state_pressed="true"
            android:drawable="@color/red" />
        <!-- normal: color=transparent -->
        <item 
            android:drawable="@android:color/transparent" />
    </selector>
    

    In Styling the Action Bar, you can find all the customization possibles and all the attributes to do so.

    0 讨论(0)
  • 2020-12-16 01:42
    ActionBar actionBar = getActionBar();
    actionBar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#0a0a0a")));
    

    this might help

    0 讨论(0)
提交回复
热议问题