2

我想使用 AlertDialog.Builder、自定义视图和计时器制作启动画面。

我正在使用 Xamarin.Android - 我似乎没有“解雇”方法,我可以调用“处置”,但 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);
    }
}
4

1 回答 1

7

确实AlertDialog.Builder没有Dismiss()方法,但是当您调用时_alert.Show(),它会返回一个AlertDialog具有该Dismiss()方法的实例。您只需要将实例保存在某处并在需要时调用它,就像这样

private AlertDialog _dialog;

public void Dismiss()
{
    _dialog.Dismiss();
}
于 2013-04-05T21:02:55.000 回答