在Android PopupWindow中去除阴影

6

我使用一个简单的LinearLayout和背景颜色创建了我的PopupWindowPopupWindow上有阴影。如何自动删除为PopupWindow生成的阴影? 我用以下方式创建了一个PopupWindow

    View view = LayoutInflater.from(getBaseContext()).inflate(R.layout.mylayout,null);
    pop = new PopupWindow(this);
    pop.setTouchable(false);
    pop.setHeight(200);
    pop.setWidth(200);
    pop.setContentView(view);
    pop.showAtLocation(parentview, 0, 50, 50);     

截图:

弹出窗口阴影


你能添加一张截图吗? - Aaron McIver
2个回答

12

你可能漏掉了一些代码吗?我没有看到你将pop添加到视图中。

无论如何,要删除阴影,您必须在PopupWindow中使用这行代码:

this.getWindow().setBackgroundDrawable(new ColorDrawable(0));

至少这对我起作用了...

干杯!


但是无法看到弹出窗口的高度。 - Rushi Ayyappa

2

您可以在应用程序中为弹出窗口设置样式。这段代码只是从所有弹出窗口中去除本地阴影。

<style name="Base.AppTheme" parent="Theme.AppCompat.Light">
    <item name="android:popupMenuStyle">@style/PopupMenu</item>
</style>

<style name="PopupMenu" parent="android:Widget.Material.PopupMenu">
    <item name="android:popupElevation">0dp</item>
</style>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接