0

我有一個與Xamarin編寫的需要從無法良好訪問活動或上下文的類進行通知的Android應用程序,所以我正在使用系統警報對話框來顯示消息。AlertDialog簡要顯示並消失

在Android 4.4中,彈出窗口出現,用戶必須點擊確定按鈕清除它。屏幕的其餘部分變暗,用戶無法與任何其他UI元素進行交互,直到彈出窗口被清除。這是所需的行爲。

在Android 5.0(在Galaxy S6和平板電腦上測試)中,彈出窗口將顯示約一秒鐘,然後消失,無需進行任何交互。我做了一些Google搜索和SO搜索無濟於事。

private static void ShowSystemAlert(Context context, string message) 
{ 
    var dialog = new AlertDialog.Builder(context, Android.Resource.Style.ThemeHoloLightDialog) 
     .SetNeutralButton("OK", (alertSender, args) => {}) 
     .SetMessage(message) 
     .Create(); 
    dialog.SetCanceledOnTouchOutside(false); 
    dialog.Window.SetType(WindowManagerTypes.SystemAlert); 
    dialog.Show(); 
    dialog.Window.DecorView.SetBackgroundResource(Android.Resource.Color.Transparent); //remove strange small border around dialog 
} 

我怎樣才能讓彈出窗口像在Android 4.4中一樣工作?最好的答案可以在棒棒糖,棉花糖和牛軋糖中使用。

我也非常感謝爲什麼會發生這種情況的解釋,或者您可以給出的任何背景信息。謝謝!

回答

0

是否是xamarin?只用上下文創建alertdialog,不要使用主題。