这已经发布了很多次了,但是现有的解决方案似乎都不适用于API 21+。默认弹出的背景色与布局的默认背景色完全相同。
这就是它看上去的样子(弹出窗口在一个网格视图上,但它没有明显的“边界”,看起来有点偏离)。
类似这的东西是理想的,也就是说,有一个合适的材料设计阴影。有一个用工具栏弹出菜单来完成这个任务的解决方案。不是用“正常”的PopupMenu。
这的老问题是试图完成同样的任务,但是,给定的解决方案现在不再起作用:
<style name="AppTheme" parent="android:Theme.Holo.Light">
<item name="android:popupMenuStyle">@style/popupMenuStyle</item>
</style>
<style name="popupMenuStyle" parent="@android:style/Widget.PopupMenu">
<item name="android:popupBackground">@color/bgPopumMenu</item>
</style>此外,也不设置自定义上下文包装器:
Context wrapper = new ContextThemeWrapper(getContext(), R.style.PopupMenu);
PopupMenu popup = new PopupMenu(wrapper, anchorView);所以,我甚至无法改变弹出菜单的背景色,更不用说有一个合适的材质设计阴影了。
如何给PopupMenu一个阴影?或者我如何至少使用自定义的背景绘图(使用它我可以放入一个9补丁阴影)
发布于 2017-12-06 07:46:01
Lollipop+需要一个单独的样式。
创建另一个资源:res/values-v21/styles.xml。
添加弹出样式并指定所需的高度:
<style name="PopupMenu" parent="@android:style/Widget.PopupMenu">
<item name="android:popupBackground">@android:color/white</item>
<item name="android:popupElevation">20dp</item>
</style>就这样。
发布于 2016-05-17 09:56:17
将popupMenu样式添加到ur AppTheme:@AppTheme/PopupMenu
<style name="PopupMenu" parent="@android:style/Widget.PopupMenu">
<item name="android:popupBackground">@android:color/white</item>
</style>manifest.xml:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
.............
</application>PS:答案为从这里开始
https://stackoverflow.com/questions/37270656
复制相似问题