簡體   English   中英

Android如何在按下狀態下更改操作欄后退按鈕和溢出按鈕的背景顏色?

[英]Android how to change action bar backbutton and overflow button background color on pressed state?

我想在按下狀態下更改后退按鈕和溢出菜單按鈕的背景顏色。 我正在使用ActionBarActivity。 Appcompact v7庫。 以編程方式是否可以更改后退按鈕和溢出菜單按鈕的背景顏色?

下面是我的風格:

 <resources>

        <style name="AppBaseTheme" parent="Theme.AppCompat.Light">
            <!-- <item name="windowActionBar">false</item> -->
        </style>

        <style name="ActionBar.Solid.Sri" parent="@style/Widget.AppCompat.Light.ActionBar.Solid">
            <item name="background">@drawable/ab_solid_sri</item>
            <item name="backgroundStacked">@drawable/ab_stacked_solid_sri</item>
            <item name="backgroundSplit">@drawable/ab_bottom_solid_sri</item>
            <item name="progressBarStyle">@style/ProgressBar</item>
        </style>

        <style name="AppTheme" parent="AppBaseTheme">
            <item name="android:actionBarDivider">@color/action_bar_text_color</item>
            <item name="actionBarDivider">@color/action_bar_text_color</item>
            <item name="actionBarItemBackground">@drawable/selectable_background_sri</item>
            <item name="android:actionBarStyle">@style/ActionBar.Transparent</item>
            <item name="actionBarStyle">@style/ActionBar.Transparent</item>

            <!--
            <item name="android:actionBarStyle">@style/MyActionBar</item>
            <item name="actionBarStyle">@style/MyActionBar</item>
            -->

            <item name="actionOverflowMenuStyle">@style/OverflowMenu</item>
            <item name="popupMenuStyle">@style/PopupMenu</item>
            <item name="dropDownListViewStyle">@style/DropDownListView</item>
            <item name="android:popupMenuStyle">@style/PopupMenu</item>
            <item name="android:dropDownListViewStyle">@style/DropDownListView</item>
            <item name="actionModeBackground">@drawable/cab_background_top_sri</item>
            <item name="actionModeSplitBackground">@drawable/cab_background_bottom_sri</item>
            <item name="actionModeCloseButtonStyle">@style/ActionButton.CloseMode</item>

            <!--
            <item name="actionOverflowButtonStyle">@style/OverFlowStyle</item>
            <item name="android:actionOverflowButtonStyle">@style/OverFlowStyle</item>
            -->

            <item name="actionDropDownStyle">@style/DropDownNav</item>
            <item name="android:actionDropDownStyle">@style/DropDownNav</item>
            <item name="android:actionBarTabTextStyle">@style/TabTextStyle</item>
            <item name="actionBarTabTextStyle">@style/TabTextStyle</item>
            <item name="actionBarTabStyle">@style/ActionBarTabStyle</item>
            <item name="android:actionBarTabStyle">@style/ActionBarTabStyle</item>

            <!-- <item name="actionBarStyle">@style/Theme.MyApp.ActionBar</item> -->
        </style>

        <style name="ActionButton.CloseMode" parent="@style/Widget.AppCompat.Light.ActionButton.CloseMode">
            <item name="android:background">@drawable/btn_cab_done_sri</item>
        </style>

        <style name="DropDownListView" parent="@style/Widget.AppCompat.Light.ListView.DropDown">
            <item name="android:listSelector">@drawable/selectable_background_sri</item>
        </style>

        <style name="PopupMenu" parent="@style/Widget.AppCompat.Light.PopupMenu">
            <item name="android:popupBackground">@drawable/menu_dropdown_panel_sri</item>
        </style>

        <style name="MyActionBar" parent="@style/Widget.AppCompat.ActionBar">
            <item name="android:titleTextStyle">@style/TitleTextStyle</item>
            <!-- Support library compatibility -->
            <item name="titleTextStyle">@style/TitleTextStyle</item>
        </style>

        <style name="ActionBar.Transparent" parent="@style/Widget.AppCompat.Light.ActionBar">
            <item name="background">@drawable/ab_transparent_sri</item>
            <item name="progressBarStyle">@style/ProgressBar</item>
            <item name="android:titleTextStyle">@style/TitleTextStyle</item>
            <!-- Support library compatibility -->
            <item name="titleTextStyle">@style/TitleTextStyle</item>
        </style>

        <style name="ProgressBar" parent="@style/Widget.AppCompat.ProgressBar.Horizontal">
            <item name="android:progressDrawable">@drawable/progress_horizontal_sri</item>
        </style>

        <style name="OverFlowStyle" parent="@style/Widget.AppCompat.Light.ActionButton.Overflow">
            <item name="android:src">@drawable/ic_empty</item>
        </style>

        <style name="TitleTextStyle" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
            <item name="android:textColor">@color/action_bar_text_color</item>
        </style>

        <style name="TabTextStyle" parent="@style/Widget.AppCompat.ActionBar.TabText">
            <item name="android:textColor">@color/action_bar_text_color</item>
        </style>

        <style name="ActionBarTabStyle" parent="@style/Widget.AppCompat.Light.ActionBar.TabView">
            <item name="android:background">@drawable/tab_indicator_ab_sri</item>
            <item name="background">@drawable/tab_indicator_ab_sri</item>
        </style>

        <style name="DropDownNav" parent="@style/Widget.AppCompat.Light.Spinner.DropDown.ActionBar">
            <item name="android:background">@drawable/spinner_background_ab_sri</item>
            <item name="android:popupBackground">@drawable/menu_dropdown_panel_sri</item>
            <item name="android:dropDownSelector">@drawable/selectable_background_sri</item>
            <item name="background">@drawable/spinner_background_ab_sri</item>
        </style>

        <!--
        <style name="Theme.MyApp.ActionBar" parent="style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">

            remove shadow below action bar
            <item name="android:elevation">0dp</item>
            Support library compatibility
            <item name="elevation">0dp</item>
            <item name="android:windowContentOverlay">@null</item>
        </style>
        -->

        <style name="OverflowMenu" parent="Widget.AppCompat.PopupMenu.Overflow">

            <!-- Required for pre-Lollipop. -->
            <item name="overlapAnchor">false</item>

            <!-- Required for Lollipop. -->
            <!-- <item name="android:overlapAnchor">false</item> -->
        </style>

        <style name="ProgressBarStyle" parent="@android:style/Widget.ProgressBar.Horizontal" />

        <!--
        <style name="MyActionBar" parent="@style/Widget.AppCompat.ActionBar">
            <item name="android:background">@drawable/actionbar_background</item>
            <item name="android:windowActionBarOverlay">true</item>

            Support library compatibility
            <item name="background">@drawable/actionbar_background</item>
            <item name="windowActionBarOverlay">true</item>
        </style>
        -->


        <!-- this style is only referenced in a Light.DarkActionBar based theme -->
        <style name="Theme.Sri.Widget" parent="@style/Theme.AppCompat">
            <item name="popupMenuStyle">@style/PopupMenu</item>
            <item name="dropDownListViewStyle">@style/DropDownListView</item>
        </style>

    </resources>

請幫我。 感謝大伙們。

動作欄樣式生成器非常有用,但是它會生成許多文件,如果您只想更改背景顏色,則其中的大多數文件都是不相關的,請查看: https : //stackoverflow.com/a/20077381/611258

盡管我強烈建議您使用新的工具欄或其等效的支持庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM