如何检查屏幕上是否已经有吐司了?

时间:2020-06-01 04:07:53

标签: flutter dart

基于一些整数值计算,只要满足正确的条件,我想在我的应用程序上显示一条祝酒消息。这个条件经常得到满足,我想在屏幕上显示一个吐司消息。我为此选择了flutter toast插件。但是有时,即使关闭了应用程序,该方法也会发送太多的吐司消息,以构成吐司消息。因此,我想知道是否已在屏幕上显示烤面包消息,如果已删除,则取消。

如何检查屏幕上是否已经有吐司?

或者,请向我建议其他有关扑朔迷离的对话方式。

//check if exist then cancel. Or show.
Fluttertoast.showToast(
        msg: "This is condition met Toast",
        toastLength: Toast.LENGTH_SHORT,
        gravity: ToastGravity.CENTER,
        timeInSecForIosWeb: 1,
        backgroundColor: Colors.red,
        textColor: Colors.white,
        fontSize: 16.0
    );

4 个答案:

答案 0 :(得分:1)

此插件无法实现,因为它不支持。但是,如果您对更现代的方法感兴趣,则可以使用此lib来显示小吃店。 您可以根据需要自定义它,使其看起来像Toast,并且有一个Get.isSnackbarOpen回调函数可以满足您的需要。

https://pub.dev/packages/get

答案 1 :(得分:1)

请以静态布尔isShowToast为准,并在调用toast使其状况时将其设为false

package main
import "fmt"
func main(){
    types := []interface{} {"a",6,6.0,true}
    for _,v := range types{
        fmt.Printf("%T\n",v)
        switch v.(type) {
        case int:
           fmt.Printf("Twice %v is %v\n", v, v.(int) * 2)
        case string:
           fmt.Printf("%q is %v bytes long\n", v, len(v.(string)))
       default:
          fmt.Printf("I don't know about type %T!\n", v)
      }
    }
}

答案 2 :(得分:0)

答案 3 :(得分:0)

您可以运行Fluttertoast.cancel()取消所有吐司。

如果一次只显示一个Toast,则可以在调用showToast之前立即运行。