2017-04-12 75 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();