Xamarin表单显示警报消失
本文关键字:消失 显示 表单 Xamarin | 更新日期: 2023-09-27 18:15:40
我正在开发Xamarin Forms应用程序,但我注意到一种奇怪的行为,当我显示警报时,在Android(版本主要大于4.2.2),如果我在警报模式外按下,警报立即消失。有什么办法可以防止这种情况发生吗?我希望警报只在用户选择时消失。
多谢
当Android显示一个对话框时,点击它的外面来取消是相当标准的。要更改此行为,您需要在PCL中创建一个接口:
public interface ICustomAlert
{
void ShowAlert(string message);
}
在你的Android项目中创建实现(类似于这样):
[assembly: Xamarin.Forms.Dependency (typeof (AndroidCustomAlert))]
public class AndroidCustomAlert : ICustomAlert
{
void ShowAlert(string message)
{
var builder = new AlertDialog.Builder(Xamarin.Forms.Forms.Context);
builder.SetMessage(message);
builder.SetPositiveButton("OK", (sender, args) => { });
builder.SetCancelable(false);
builder.Show();
}
}
注意SetCancelable(false)
。这就是为什么用户不能在警报之外点击并让它消失。
要使用它,从依赖服务中获取ICustomAlert并调用ShowAlert:
DependencyService.Get<ICustomAlert>().ShowAlert("Hello!");
用PopupLayout实现你自己的DisplayAlert。
或
使用ACR用户对话框插件Xamarin by Allan Ritchie