Android 在Actionbar ShareActionProvider下拉列表上设置自定义背景色

Android 在Actionbar ShareActionProvider下拉列表上设置自定义背景色,android,drop-down-menu,android-actionbar,shareactionprovider,Android,Drop Down Menu,Android Actionbar,Shareactionprovider,我正在尝试将自定义背景色设置为ShareActionProvider dropdownlist,我已经使用此设置更改了holo actionbar的颜色 正如您在下图中看到的突出显示点,我可以将actionbar背景色更改为橙色,但ShareActionProvider dropdownlist背景色仍然为灰色。有人知道如何在styles.xml中编辑我的主题吗 非常感谢您抽出时间。您需要覆盖属性listPopupWindowStyle 从外观上看,您使用的是Theme.Holo.Light。

我正在尝试将自定义背景色设置为ShareActionProvider dropdownlist,我已经使用此设置更改了holo actionbar的颜色

正如您在下图中看到的突出显示点,我可以将actionbar背景色更改为橙色,但ShareActionProvider dropdownlist背景色仍然为灰色。有人知道如何在styles.xml中编辑我的主题吗


非常感谢您抽出时间。

您需要覆盖属性
listPopupWindowStyle

从外观上看,您使用的是
Theme.Holo.Light
。将此添加到基本主题:

<style name="AppBaseTheme" parent="android:Theme.Holo.Light">
    ....
    <item name="android:listPopupWindowStyle">@style/MyListPopupWindowStyle</item>
</style>
接下来,创建可绘制的
列表\弹出\背景
,您就可以完成了

输出

顺便说一句,在上面的截图中,我使用了一个彩色可绘制的背景。这就是为什么,角不圆,也没有阴影。为此,您需要创建一个9个可绘制补丁,类似于android使用的补丁。下面是它的样子:

我的可绘制颜色定义为:

<drawable name="list_popup_background">#33ffffff</drawable>


对你来说,定义类似的东西可能是个好主意

您可以通过colorBackground属性对其着色

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="actionBarTheme">@style/AppTheme.ActionBar</item>
</style>

<style name="AppTheme.ActionBar" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
    <item name="android:colorBackground">@color/red</item>
</style>

@style/AppTheme.ActionBar
@颜色/红色

对此也感兴趣
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_above_anchor="true" android:drawable="@android:drawable/menu_popup_panel_holo_light" />
    <item android:drawable="@android:drawable/menu_dropdown_panel_holo_light" />
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="actionBarTheme">@style/AppTheme.ActionBar</item>
</style>

<style name="AppTheme.ActionBar" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
    <item name="android:colorBackground">@color/red</item>
</style>