我想使用AlertDialog.Builder,自定义视图和计时器制作启动画面。
我正在使用Xamarin.Android - 我似乎没有'dismiss'方法,我可以调用'dispose'但是alertDialog视图没有关闭。
以下示例代码:
public class SplashDialog
{
private readonly AlertDialog.Builder _alert;
private readonly View _view;
public SplashDialog(Context context)
{
_alert = new AlertDialog.Builder(context);
var layoutInflater = (LayoutInflater)context.GetSystemService(Context.LayoutInflaterService);
_view = layoutInflater.Inflate(Resource.Layout.splash, null);
_alert.SetView(_view);
}
public void Show()
{
_alert.Show();
/*
new Thread(() =>
{
Thread.Sleep(3000);
_view.Dispose();
_alert.Dispose();
}).Start();
* */
new Handler().PostDelayed(() =>
{
_view.Dispose();
_alert.Dispose();
}, 3000);
}
}
答案 0 :(得分:7)
确实AlertDialog.Builder
没有Dismiss()
方法,但是当您致电_alert.Show()
时,它会返回AlertDialog
个实例,其Dismiss()
方法。你只需要将实例保存在某处并在需要时调用它,就像这样
private AlertDialog _dialog;
public void Dismiss()
{
_dialog.Dismiss();
}