flutter 事件

焦点

FocusManager

焦点管理器。

取消当前焦点

FocusManager.instance.primaryFocus?.unfocus();

FocusNode

创建一个FocusNode

myFocusNode = FocusNode();

将 FocusNode 传递给 TextField

return TextField(
    focusNode: myFocusNode,
  );

聚焦

myFocusNode.requestFocus()

FocusScope

将焦点遍历限制在作用域中

取消焦点
final focusScope = FocusScope.of(context);
focusScope.unfocus();
获取焦点
focusScope.requestFocus(_focusNode)

Navigator

返回

当前页面能在栈内能被弹出时就弹出栈,如果不能弹出则什么都不做:

Navigator.maybePop(context)

SystemNavigator

控制系统导航栈。

关闭flutter应用

SystemNavigator.pop()

弹框

showGeneralDialog

在应用程序的当前内容上方显示一个对话框。

这个函数需要一个pageBuilder,用于构建对话框的内容。这个方法返回的小部件不与当前页面共享上下文对象。

可以使用StatefulBuilder返回一个需要动态更新的对话框。

barrierDismissible

点击遮罩是否关闭

barrierLabel

一个语义标签,当点击遮罩关闭时,这个属性不能为空

barrierColor

遮罩的颜色

transitionDuration

显示弹框执行动画的时间

transitionBuilder

切换动画

showModalBottomSheet

底部弹框

enableDrag

下滑拖动关闭,默认启用

isScrollControlled

子项是否可拖动,默认为false

Stream

Stream.periodic

创建一个重复发出事件的流

StreamSubscription _subscription =
    Stream.periodic(const Duration(seconds: 1), (i) => i)
    .take(_second) // 最大执行次数
    .listen((i) {
        print(i);
        setState(() {
            
        });
    });
posted @ 2022-11-03 08:58  Bin_x  阅读(84)  评论(0编辑  收藏  举报