关闭Android弹出窗口,然后按下

Bha*_*kar 9 android

我创建了一个Android应用程序,我在其中创建了一个弹出屏幕.但是当我按下后退按钮时,弹出窗口没有关闭.

我试过onBackPressed().它不起作用.

有人能告诉我该怎么做.

问候,

尚卡尔

Igo*_*sky 38

您需要做的是在初始化后调用PopupWindow上的setBackgroundDrawable.就像是:

myPopup.setBackgroundDrawable(new BitmapDrawable());
Run Code Online (Sandbox Code Playgroud)

  • 为什么这导致后退按钮工作? (5认同)
  • 请注意,它不必是BitmapDrawable,我使用了一个ColorDrawable,它可以很好地构建,没有参数 (4认同)
  • 1.确保在*显示弹出窗口之前调用此*.2.可能希望将一个Resources对象传递给该构造函数,因为显然不推荐使用没有参数的构造函数.3.更多信息:http://stackoverflow.com/questions/3121232/android-popup-window-dismissal (2认同)
  • 这非常有效.但请确保您将焦点设置为true.如果它是假的,那么后退按钮不会自动工作,你需要在调用活动中实现hotveryspicy的解决方案. (2认同)

Ber*_*ťák 5

最近,我使用ListPopupWindow(android.support.v7.internal.widget.ListPopupWindow),当我打电话时,后退按钮开始起作用

popupWindow.setModal(true);
Run Code Online (Sandbox Code Playgroud)

无论我在setBackgroundDrawable方法中设置了什么(如此处其他解决方案一样)。