Android - 在视图外部单击时关闭popUpWindow

时间:2014-09-10 15:35:10

标签: android popupwindow

我的弹出窗口功能有一个小问题。我想在用户点击窗口外时关闭它。我已经在stackoverflow上读了很多文章,但没有一篇文章帮助过我。我试过的是,我试过popupwindow.setBackgroundDrawable(null);这不适合我。

 LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View layout = inflater.inflate(R.layout.popupmenu_layout, (ViewGroup) findViewById(R.id.popuplinearlayout));
    pw = new PopupWindow(layout, 300, 300, true);
    pw.showAtLocation(layout, Gravity.CENTER, 0, 0);
    pw.setBackgroundDrawable(null);
    pw.setOutsideTouchable(true);
    //Todo remove popup window when outside is touched...    

如果你知道一篇好文章可能对我有什么帮助,我会很感激。这个功能在模拟器中不起作用吗?我现在只有模拟器。(android 4.4.2)

3 个答案:

答案 0 :(得分:1)

如果不推荐使用Marcin的构造函数,请使用

pw.setBackgroundDrawable(new BitmapDrawable(getResources(),""));

答案 1 :(得分:0)

而不是

pw.setBackgroundDrawable(null);

DO

pw.setBackgroundDrawable(new BitmapDrawable());

答案 2 :(得分:0)

使用pw.setBackgroundDrawable(new BitmapDrawable(getResources(),""));

设置窗口背景transtarent。

pw.getBackground().setAlpha(0);