问题描述 Flutter中使用showDialog或showModalBottomSheet后,通过setState()无法更新当前dialog。其实原因很简单,因为dialog其实是另一个页面,准确地来说是另一个路由,因为dialog的关闭也是通过navigator.pop的,所以地位与当前主页面
问题描述 Flutter中showModalBottomSheet底部弹框,无论点击阴影区域还是点击内容区域,默认都会导致当前对话框自动关闭。如果想在弹框中停留并进行一些操作,我们需要设置在点击ModalBottomSheet内容区域时不关闭弹框,而是手动点击触发关闭弹框。 解决方案 (1)sho
BottomSheet底部弹框的背景色与主题的画布底色一致,因此只需修改App主题的canvasColor即可 参考:https://stackoverflow.com/questions/51204179/how-to-change-the-background-color-of-bottomsh
Facebook登录 第三方插件:flutter_facebook_login DartPub:https://pub.dartlang.org/packages/flutter_facebook_login Github:https://github.com/roughike/flutter_fa
获取状态栏高度 import 'dart:ui'; MediaQueryData.fromWindow(window).padding.top MediaQuery.of(context).padding.top 获取系统默认的AppBar等高度 位于Dart Packag
使用Flutter实现SearchBar搜索框效果 import 'package:flutter/material.dart'; import 'dart:ui'; class SearchBarDemoPage extends StatefulWidg
fluttertoast 目前Flutter官方暂未提供toast工具类,可以利用第三方库fluttertoast Github:https://github.com/PonnamKarthik/FlutterToast DartHub: https://pub.dartlang.org/packa
WillPopScope 注册一个回调 onWillPop 用来自定义用户对路由的操作 (1)自定义双击退出回调函数 int _lastClickTime = 0; Future<bool> _doubleClickExit() { int nowTime = new DateT
Flutter中的默认导航分成两种,一种是命名的路由,一种是构建路由。 命名路由 (1)需要一开始在创建App时定义 new MaterialApp( .... routes: { "route-name": (BuildContext context) =&g
错误写法: GestureDetector( onTap: viewOrderList('all'), child: ... ), 正确写法: GestureDetector( onTap: () => viewOrderList('all'
参考:https://stackoverflow.com/questions/44490622/disable-a-text-edit-field-in-flutter TextField( enableInteractiveSelection: false, onTap: () { Foc
原理:动态更新TabController状态 import 'package:flutter/material.dart'; class DynamicTabBarViewPage extends StatefulWidget { @override State<
Flutter中TabBarView高度默认充满全屏,the TabBarView doesn't have a bounded height. 本文记录设置TabBarView高度的方法 参考:https://stackoverflow.com/questions/52023610/getting
参考:https://github.com/LiuC520/flutter_bottom_tab_bar 基本使用: class HomeState extends State<Home> with SingleTickerProviderStateMixin { TabContr
参考:https://github.com/inRush/TipDialog (1)使用TipDialogContainer全局注册TipDialogController /// Use [TipDialogContainer] globally /// This widget can be gl