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

时间:2015-03-25 19:13:41

标签: android android-popupwindow

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

Objective

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

White content background

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

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

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

导致this

可以提供正确的背景颜色,但也可以去除阴影。

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

3 个答案:

答案 0 :(得分:13)

我最后使用了使用http://inloop.github.io/shadow4android/

创建的9补丁

答案 1 :(得分:3)

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

popupWindow.setElevation(10);

这将在API21之后起作用。

答案 2 :(得分:1)

如果无效,您可以使用以下代码。这将在Popupwindow周围留下阴影,带有白色背景。我已在我的应用中对其进行了测试。

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