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,不要使用主题。