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

相關文章
相關標籤/搜索