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(() {
});
});
本文来自博客园,作者:Bin_x,转载请注明原文链接:https://www.cnblogs.com/Bin-x/p/16853249.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)