【发布时间】:2021-06-03 02:43:42
【问题描述】:
我正在尝试在按下某些东西时从屏幕底部弹出一个小的弹出屏幕,虽然没有被定向到另一个 dart 文件,但之前的屏幕可以变暗并被看到。我已尝试搜索该小部件,但找不到我正在寻找的那个。
图片举例说明我的意思。
【问题讨论】:
我正在尝试在按下某些东西时从屏幕底部弹出一个小的弹出屏幕,虽然没有被定向到另一个 dart 文件,但之前的屏幕可以变暗并被看到。我已尝试搜索该小部件,但找不到我正在寻找的那个。
图片举例说明我的意思。
【问题讨论】:
为此使用模态底页。请关注this link或查看here的文档
例如
import 'package:flutter/material.dart';
void main() => runApp(const MyApp());
/// This is the main application widget.
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
static const String _title = 'Flutter Code Sample';
@override
Widget build(BuildContext context) {
return MaterialApp(
title: _title,
home: Scaffold(
appBar: AppBar(title: const Text(_title)),
body: const MyStatelessWidget(),
),
);
}
}
/// This is the stateless widget that the main application instantiates.
class MyStatelessWidget extends StatelessWidget {
const MyStatelessWidget({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Center(
child: ElevatedButton(
child: const Text('showModalBottomSheet'),
onPressed: () {
showModalBottomSheet<void>(
context: context,
builder: (BuildContext context) {
return Container(
height: 200,
color: Colors.amber,
child: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
mainAxisSize: MainAxisSize.min,
children: <Widget>[
const Text('Modal BottomSheet'),
ElevatedButton(
child: const Text('Close BottomSheet'),
onPressed: () => Navigator.pop(context),
)
],
),
),
);
},
);
},
),
);
}
}
【讨论】: