Android 在API 21+中为弹出菜单添加阴影;
这已经发布了很多次,但现有的解决方案似乎都不能与API 21+一起使用。默认弹出窗口的背景色与布局的默认背景色完全相同 是它看起来的样子(弹出窗口在gridview上,但没有明显的“边界”,看起来有点不对劲) 类似的东西是理想的,也就是说,有合适的材质设计阴影。通过工具栏弹出菜单可以实现这一点。没有“正常”弹出菜单 老问题试图实现同样的目标,但给出的解决方案现在不再有效:Android 在API 21+中为弹出菜单添加阴影;,android,android-layout,Android,Android Layout,这已经发布了很多次,但现有的解决方案似乎都不能与API 21+一起使用。默认弹出窗口的背景色与布局的默认背景色完全相同 是它看起来的样子(弹出窗口在gridview上,但没有明显的“边界”,看起来有点不对劲) 类似的东西是理想的,也就是说,有合适的材质设计阴影。通过工具栏弹出菜单可以实现这一点。没有“正常”弹出菜单 老问题试图实现同样的目标,但给出的解决方案现在不再有效: <style name="AppTheme" parent="android:Theme.Holo.Light">
<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>
因此,我甚至无法更改弹出菜单的背景色,更不用说有一个合适的材质设计阴影
如何给弹出菜单一个阴影?或者,我至少应该如何使用自定义背景绘图(使用它我可以将其放入一个9面片阴影中)将弹出菜单样式添加到应用主题: @样式/弹出菜单
@android:彩色/白色
manifest.xml:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
.............
</application>
棒棒糖+需要单独的款式。
创建另一个资源: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>
@android:彩色/白色
20dp
就这样。如果你看到我的问题,你会发现我已经试过了。它不工作(至少在API 21+中)
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
.............
</application>
<style name="PopupMenu" parent="@android:style/Widget.PopupMenu">
<item name="android:popupBackground">@android:color/white</item>
<item name="android:popupElevation">20dp</item>
</style>