2012-05-23 34 views
4

我试图创建一个覆盖显示通知,如果他们到达我的应用程序的底部。Popupwindow停用边框

我打算用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,并将偏移量和额外宽度添加到测量的屏幕宽度。但左侧的填充无法移除。

我能做些什么来将覆盖层拉伸到整个窗口的宽度?现在看起来是这样的: not working overlay

回答

2

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

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

popUp.setBackgroundDrawable(new BitmapDrawable());

OR

  • 因为我通过在零和避免潜在的泄漏和清理我喜欢这个解决方案。
  • popUp.setBackgroundDrawable(null);

    +1

    这太疯狂了:这个问题已经失去的不仅是产品我建立也是公司 - 现在依然,它吸引了答案。你会得到一个upvote,也许如果我来测试你的解决方案,我会接受它。欢呼并保持良好的工作! – schlingel

    +0

    @schlingel您是否设法测试我的解决方案?如果你这样做,请接受我的回答。 – Records

    +0

    抱歉,没有。我不知道它是否有效。 – schlingel