2017-04-12 57 views
0

在我的应用程序中,我想要一个'粘',即总是在顶部,并不会解雇,一旦我不小心点击背景视图,AlertDialog。继在堆栈溢出各种类似的问题的回答,我想出了:粘滞AlertDialog在Android

final AlertDialog.Builder alert = new AlertDialog.Builder(this); 
    // .. 
    AlertDialog alert_dialog = alert.create(); 
    alert_dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG); 
    alert_dialog.show(); 

,并已将此添加到我的清单文件(否则应用程序会崩溃):

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/> 

不过,我可以没有达到预期的效果。只要点击背景视图,对话框就会消失。难道我做错了什么?

+1

尝试之前只需添加以下代码;' – Piyush

+0

@Marinos试试上面的行 – Lokesh

回答

2

您可以使用setCanceledOnTouchOutside()

显示使用`alert_dialog.setCanceledOnTouchOutside(假)对话框

alert_dialog.setCanceledOnTouchOutside(true); 
alert_dialog.show();