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

问题描述 投票:6回答:3

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

Objective

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

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

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

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

这导致this

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

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

android android-popupwindow
3个回答
13
投票

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


3
投票

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

popupWindow.setElevation(10);

这将在API21之后起作用。


1
投票

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

popupWindow.setBackgroundDrawable(context.getDrawable(android.R.drawable.picture_frame));
© www.soinside.com 2019 - 2024. All rights reserved.