5

如果它们到达我的应用程序底部,我正在尝试创建覆盖显示通知。

我计划使用 PopupWindow 这样做,因为它很容易集成到每个活动中,而无需麻烦地拥有一个将叠加层作为屏幕上最后一个元素的 RelativeLayout。

我的测试代码如下所示:

 popUp = new PopupWindow(this);
 popUp.setContentView(LayoutInflater.from(this).inflate(R.layout.testwindow, null));
 popUp.showAtLocation(layout, Gravity.BOTTOM, 0, 0);
 popUp.update(0, 0, width, height);

其中宽度和高度是我的设备的大小。但问题是弹出窗口不会覆盖整个屏幕,会显示一个小边框——这不在我的布局中——还有一些填充。

我已经尝试将布局文件中的边框设置为 0px,并为测量的屏幕宽度添加偏移量和额外宽度。但是左侧的填充无法删除。

我该怎么做才能将覆盖层拉伸到窗口的整个宽度?现在看起来像这样: 不工作覆盖

4

1 回答 1

3

已经好几年了,但我正在为可能面临类似问题的其他人提出解决方案。

  1. 您可以添加以下内容,但 BitmapDrawable 已弃用,现在需要您传入上下文。

popUp.setBackgroundDrawable(new BitmapDrawable());

或者

  1. 我更喜欢这个解决方案,因为我传入 null 并避免潜在的泄漏和清理。

popUp.setBackgroundDrawable(null);

于 2017-04-12T16:01:19.513 回答