焦点
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(() {
});
});
标签:遮罩,FocusNode,对话框,焦点,focusScope,弹框,事件,flutter
From: https://www.cnblogs.com/Bin-x/p/16853249.html