在操作栏ShareActionProvider下拉列表上设置自定义背景颜色
我试图设置一个自定义的背景颜色ShareActionProvider dropdownlist,我已经改变了使用这个http://jgilfelt.github.io/android-actionbarstylegenerator/的holo actionbar颜色
正如你可以在下面的图片中看到突出显示的点,我可以将操作栏背景颜色更改为橙色,但ShareActionProvider下拉列表背景颜色仍为灰色。 有没有人有任何想法如何改变它在styles.xml中编辑我的主题?
非常感谢您的宝贵时间。
您将需要重写属性listPopupWindowStyle
。
从外观来看,你使用的是Theme.Holo.Light
。 将此添加到您的基本主题中:
<style name="AppBaseTheme" parent="android:Theme.Holo.Light">
....
<item name="android:listPopupWindowStyle">@style/MyListPopupWindowStyle</item>
</style>
现在像这样定义MyListPopupWindowStyle
:
<style name="MyListPopupWindowStyle" parent="@android:style/Widget.Holo.Light.ListPopupWindow">
<item name="android:popupBackground">@drawable/list_popup_background</item>
</style>
接下来,创建可绘制的list_popup_background
,你就完成了。
输出 :
顺便说一下,在上面的截图中,我使用了ColorDrawable作为背景。 这就是为什么,角落不圆,没有阴影。 为此,您需要创建一个与Android使用的类似的9修补程序drawable。 这是它的样子:
我的ColorDrawable被定义为:
<drawable name="list_popup_background">#33ffffff</drawable>
一些更多信息 :
Android本身使用一个状态选择器可绘制ListPopupWindow的背景。 选择器定义了两个状态: state_above_anchor
和state_below_anchor
(默认可达):
<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" />
对您定义类似的东西可能是个好主意。
您可以通过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>
链接地址: http://www.djcxy.com/p/89629.html
上一篇: Setting a custom background color on Actionbar ShareActionProvider dropdownlist
下一篇: ShareActionProvider Drop down menu color from AppCompat v7