Flutter零碎的tips(一)

有些知识点常常用,但有时着急的时候就是想不起来,仍是记录一下。java

InkWell 水波纹会超出 Container 的圆角

把 InkWell 与 Container 设置一样的圆角.node

InkWell( onTap: (){ print("点击事件"); }, borderRadius: BorderRadius.circular(10), child: Container( decoration: BoxDecoration( borderRadius: BorderRadius.circular(10) ), ), )

移除 ListView,GridView 的间距

MediaQuery.removeViewPadding().微信

 MediaQuery.removeViewPadding( context: context, child: ListView(), removeTop: true, removeBottom: true, removeLeft: true, removeRight: true, )

隐藏软件盘

// 隐藏键盘// 建议传入对应的 context,才能获取当前页面的键盘是否被拉起hiddenKeyBoard({BuildContext context}) { Future.delayed(Duration.zero).then((value) { FocusScopeNode _node = FocusScope.of(context ); print('_node.hasFocus: ${_node.hasFocus}'); // 根据键盘是否被拉起,来决定是否收起键盘 if (_node.hasFocus) _node.requestFocus(FocusNode()); });}

初始化控件时,ScrollController 跳转到对应偏移量

在 initState 生命周期方法中调用 WidgetsBinding.instance.addPostFrameCallback((_) {});ide

 @override void initState() { // TODO: implement initState super.initState(); WidgetsBinding.instance.addPostFrameCallback((_) { //write or call your logic //code will run when widget rendering complete _scrollController.jumpTo(50); }); }

分割线封装

/// s水平分割线divider({double height = 0.5, color = const Color(0xffb9b9b9)}) => Divider( color: color, height: height, thickness: height, );
/// 垂直分割线verticalDivider({double width = 0.5, color = const Color(0xffb9b9b9)}) => VerticalDivider(width: width, thickness: width, color: color);


暂时想不到了。。。学习


本文分享自微信公众号 - Flutter学习簿(gh_d739155d3b2c)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。ui

相关文章
相关标签/搜索