有些知識點常常用,但有時着急的時候就是想不起來,仍是記錄一下。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
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