Future<int> _showCustomModalBottomSheet(context, List<String> options) async { r...
封装成一个通用组件 classComModalBottomSheet{/// 展示ModalBottomSheet/// [context] 上下文/// [child] 里面的子组件/// [isDismissible] 外部是否可以点击 默认是true/// [enableDrag] 是否可以拖动/// [title] 标题/// [isLeftTitle]是否居中/// [useRootNavigator ] 是否使用跟路由/// [maxHeight] ...
/// create a persistent bottom sheet with [ScaffoldState.showBottomSheet] or /// [Scaffold.bottomSheet], and a modal bottom sheet with [showModalBottomSheet]. /// /// See also: /// /// * [showBottomSheet] and [ScaffoldState.showBottomSheet], for showing /// non-modal "persistent" bott...
可以看到showBottomSheet会充满整个屏幕,然后 fab会跟随一起到AppBar的底部位置,而showModalBottomSheet展示的高度不会超过半个屏幕的高度,但是fab被其遮挡了。假如我们只需要展示 2-3 个item,但是按照刚才的方式showModalBottomSheet的高度太高了,那我们可以在ListView外层包裹一层Container,然后指定height即可 _showModalBotto...
PersistentBottomSheetController showBottomSheet( WidgetBuilder builder, { // 用于构建弹出框内容的函数。它传递一个 BuildContext 并返回一个 Widget,这通常是弹出框的主体。 Color? backgroundColor, // 底部弹出框的背景颜色 double? elevation, // 底部弹出框的阴影高度。 ShapeBorder? shape, // 底部弹出框的...
Flutter 自适应高度bottom sheet Future showTips() async { final flag = await showModalBottomSheet( context: context, isScrollControlled: true, builder: (BuildContext context) { return SingleChildScrollView( child: Column( children: <Widget>[
static Future<T> showBottomSheet<T>(BuildContext context, Widget content) { return showModalBottomSheet( context: context, isScrollControlled: true, //允许bottomSheet高度自定义 backgroundColor: Colors.transparent, //背景透明,保证下面的圆角矩形裁剪有效 ...
BottomSheetDialog、ModalBottomSheetDialog同样也是需要借助showDialog唤起,就跟它名字一样,这两种dialog是从屏幕下方向上弹出的,不同的是BottomSheetDialog默认会铺满全屏显示,而ModalBottomSheetDialog半屏显示,二者都支持随用户手指拖动上下移动。 方法签名 1.showBottomSheet(context,child) 上下文参数,Widget数组 ...
三、showModalBottomSheet var actionSheet = await showModalBottomSheet( context: context, builder: (builder) { return Container( height: 200, //高度不设置显示一半 child: Column( children: <Widget>[ ListTile( title: Text("分享 A"), onTap: () { Navigator.pop(context, 'A'); }, ), ListTile...