Flutter:在 webview 中膨胀抽屉
Flutter: Inflate drawer in webview
我在脚手架菜单中使用抽屉。当我将网络视图中的 window 变小时,抽屉消失并出现一个小按钮。
从左侧打开菜单。
我想将抽屉保留在这个缩小版本中以获得完整 window 大小,但我得到一个静态菜单。我该如何更改?
代码:
Scaffold(
drawer: DrawerMenu(),
...
)
class DrawerMenu extends StatelessWidget {
const DrawerMenu({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Drawer(
child: ListView(
children: [
Container(
padding: EdgeInsets.all(appPadding),
child: Image.asset("assets/images/mylogo.png"),
),
DrawerListTile(
title: 'Something',
svgSrc: 'assets/icons/Dashboard.svg',
tap: () {Navigator.pop(context);}),
DrawerListTile(
title: 'Somethingelse',
svgSrc: 'assets/icons/BlogPost.svg',
tap: () {Navigator.pop(context);}),
],
),
);
}
}`
抽屉属性在Scaffold中的用法是显示&隐藏抽屉
要使抽屉始终以完整 window 大小可见,请尝试根据屏幕宽度将其创建为单独的小部件
@override
Widget build(BuildContext context) {
var isBig = MediaQuery.of(context).size.width > 600.0; // set width threshold
return Scaffold(
appBar: ...
drawer: isBig ? null : DrawerMenu(),
body: isBig
? Row(
children: [
DrawerMenu(),
Expanded(
child: bodyContent,
),
],
)
: bodyContent;
);
我在脚手架菜单中使用抽屉。当我将网络视图中的 window 变小时,抽屉消失并出现一个小按钮。
我想将抽屉保留在这个缩小版本中以获得完整 window 大小,但我得到一个静态菜单。我该如何更改?
代码:
Scaffold(
drawer: DrawerMenu(),
...
)
class DrawerMenu extends StatelessWidget {
const DrawerMenu({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Drawer(
child: ListView(
children: [
Container(
padding: EdgeInsets.all(appPadding),
child: Image.asset("assets/images/mylogo.png"),
),
DrawerListTile(
title: 'Something',
svgSrc: 'assets/icons/Dashboard.svg',
tap: () {Navigator.pop(context);}),
DrawerListTile(
title: 'Somethingelse',
svgSrc: 'assets/icons/BlogPost.svg',
tap: () {Navigator.pop(context);}),
],
),
);
}
}`
抽屉属性在Scaffold中的用法是显示&隐藏抽屉
要使抽屉始终以完整 window 大小可见,请尝试根据屏幕宽度将其创建为单独的小部件
@override
Widget build(BuildContext context) {
var isBig = MediaQuery.of(context).size.width > 600.0; // set width threshold
return Scaffold(
appBar: ...
drawer: isBig ? null : DrawerMenu(),
body: isBig
? Row(
children: [
DrawerMenu(),
Expanded(
child: bodyContent,
),
],
)
: bodyContent;
);