Android PopupWindow:白色背景但保留阴影?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android PopupWindow:白色背景但保留阴影?相关的知识,希望对你有一定的参考价值。

如何在android中使用白色背景设置我的PopupWindow样式,但仍保留阴影?我想创建类似[this] [1]的东西:

Objective

默认情况下,我的PopupWindow背景较暗。所以我将弹出窗口的内容设置为白色背景,这给了我this

它有一个阴影,但仍然有黑色的“边框”,这实际上只是弹出窗口背景的未覆盖部分。

所以我尝试将弹出窗口背景设置为白色:

popupWindow.setBackgroundDrawable(new ColorDrawable(Color.WHITE))

这导致this

它提供了正确的背景颜色,但也消除了阴影。

那么有没有任何简单的方法来保持阴影,但将背景设置为白色。还有什么我应该用而不是PopupWindow来创造我想要的东西吗?或者我必须使用9补丁或什么?

答案

我刚刚使用了使用http://inloop.github.io/shadow4android/创建的9补丁

另一答案

设置背景后,只需添加高程。

popupWindow.setElevation(10);

这将在API21之后起作用。

另一答案

如果没有效果,您可以使用下面的代码。这将在Popupwindow周围留下阴影,带有白色背景。我在我的应用程序中测试过它。

popupWindow.setBackgroundDrawable(context.getDrawable(android.R.drawable.picture_frame));

以上是关于Android PopupWindow:白色背景但保留阴影?的主要内容,如果未能解决你的问题,请参考以下文章

Android-实现底部弹出PopupWindow并让背景逐渐变暗

Android-实现底部弹出PopupWindow并让背景逐渐变暗

Android PopupWindow 活动时背景模糊或变暗

Android-PopupWindow

android 怎样获取popupwindow位置

Android项目实战(十七):QQ空间实现—— 分享功能 / 弹出PopupWindow