单击左上角按钮(汉堡图标)时如何从侧面打开屏幕?

问题描述 投票:1回答:1

[我希望在单击图标时从左侧打开侧面菜单。

top header

代码:

class _MovieScreenState extends State<MovieScreen> {


MovieBloc _bloc;
 final GlobalKey<ScaffoldState> _scaffoldKey = new GlobalKey<ScaffoldState>();

  @override
  void initState() {
    super.initState();
    _bloc = MovieBloc();

  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      key: _scaffoldKey,
      drawer: new Drawer(),
      appBar: AppBar(
        backgroundColor: Color(0xffFAFCF7), // status bar color
        brightness: Brightness.light,
        elevation: 0.0,
        leading: Container(
          margin: EdgeInsets.only(left: 17),
          child: RawMaterialButton(
            onPressed: _scaffoldKey.currentState.openDrawer(),
            child: new Icon(
              Icons.menu,
              // color: Colors.black,
              size: 25.0,
            ),
            shape: new CircleBorder(),
            elevation: 4.0,
            fillColor: Colors.white,
            padding: const EdgeInsets.all(5.0),
          ),
          ...

所以,onTap我希望从左侧打开全屏的屏幕。另外,如果在主屏幕上从左向右滑动,则可以打开侧屏幕。谢谢

flutter flutter-layout
1个回答
1
投票

是,有可能,您正在寻找的小部件是Drawer

将参数drawer传递到您的脚手架中,您将看到汉堡包图标

class LeftMenu extends StatelessWidget {
 @override
 Widget build(BuildContext context) {
   return Container(child: 
      ListView(
        padding: EdgeInsets.zero,
        children:  // your widgets that you want to put inside
      )
   )
 }
}
Scaffold(
  drawer: Drawer(
    child: LeftMenu()
  )
);

现在可以通过汉堡菜单或从右向左滑动打开它。

您可以在官方教程:Drawer中阅读有关它的更多信息>

© www.soinside.com 2019 - 2024. All rights reserved.