flutter Overlay创建层 和 单次定时器 多次定时器

 

Flutter Overlay 组件用法详解

/**
 *
 * Overlay 是一个用于在当前界面上添加浮动层的组件。它是一个 StatefulWidget,其 createState 方法返回一个 OverlayState 对象。
 * 通过 Overlay.of(context) 可以获得当前上下文的 OverlayState。
 * 用 OverlayState.insert 可以在界面上添加一个 OverlayEntry,而 OverlayEntry.remove 可以将其从界面上移除。
 */

Flutter Overlay 示例代码

// 获取当前上下文的 OverlayState
var overlay = Overlay.of(context);

// 创建一个 OverlayEntry
var overlayEntry = OverlayEntry(
    builder: (context) => Positioned(
      child: Icon(Icons.hd),
    ));

// 在 Overlay 上插入该 OverlayEntry
overlay.insert(overlayEntry);

// 使用单次定时器,在2秒后移除 OverlayEntry
Timer(Duration(seconds: 2), () {
  overlayEntry.remove();
});

// 使用多次定时器,每秒打印一次,到第5秒时取消定时器
var num = 0;
Timer.periodic(Duration(seconds: 1), (timer) {
  print('123');

  num++;
  print(num);

  if (num >= 5) {
    timer.cancel(); // 取消定时器
  }
});

// 在 State 对象的 dispose 方法中取消定时器
var timer = Timer.periodic(Duration(seconds: 1), (timer) {
  print('123');
});

dispose() {
  super.dispose();

  timer.cancel(); // 取消定时器
}

posted on 2020-03-17 13:08  完美前端  阅读(429)  评论(0)    收藏  举报

导航