如何知道 toast 何时显示完自己

How to know when toast has finished displaying itslelf

我创建一个吐司并显示它。我想要的是在吐司消失后在屏幕上显示一些文本。

有办法做到这一点吗?

Toast 消息没有任何界面可以告诉您它们何时消失,但它们的默认显示长度是已知的。

private static final int LONG_DELAY = 3500; // 3.5 seconds
private static final int SHORT_DELAY = 2000; // 2 seconds

用这个来完成任务

private void doSometingAfterToast(int toastLength){
    new android.os.Handler(getMainLooper()).postDelayed(new Runnable() {
        @Override
        public void run() {
            doSomething();
        }
    }, toastLength);
}

检查它是否可见。

if (toast == null || toast.getView().getWindowVisibility() != View.VISIBLE) {
    // Toast isn't shown //
}