【问题标题】:How to implement a side menu that swipes from the left?如何实现从左侧滑动的侧边菜单?
【发布时间】:2017-09-28 23:25:51
【问题描述】:

我是 Flutter 的新手,刚刚完成了入门教程。我想创建一个侧边菜单,当您滑动时会从左侧出现(如 Android 上的 Gmail)。

不幸的是,我在文档中找不到这样的布局,而且颤振库中的示例有点混乱。

有人可以解释一下如何实现这样的小部件吗?

【问题讨论】:

标签: menu dart flutter


【解决方案1】:

在脚手架中只需指定drawer: Drawer()

例子:

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      drawer: Drawer(   // this will set the drawer
        child: MyWidget // render your drawer Widget here
      ),
      ... // props hidden
    );
  }
}

【讨论】:

    【解决方案2】:

    这是一个简单抽屉的示例(我刚刚从flutter create调整了默认项目设置):

    import 'package:flutter/material.dart';
    
    void main() {
      runApp(new MyApp());
    }
    
    class MyApp extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return new MaterialApp(
          title: 'Flutter Demo',
          home: new MyHomePage(),
        );
      }
    }
    
    class MyHomePage extends StatefulWidget {
    
      @override
      _MyHomePageState createState() => new _MyHomePageState();
    }
    
    class _MyHomePageState extends State<MyHomePage> {
    
      @override
      Widget build(BuildContext context) {
        return new Scaffold(
          appBar: new AppBar(
            title: new Text('TestProject'),
          ),
          drawer: new Drawer(
            child: new ListView(
              children: <Widget> [
                new DrawerHeader(child: new Text('Header'),),
                new ListTile(
                  title: new Text('First Menu Item'),
                  onTap: () {},
                ),
                new ListTile(
                  title: new Text('Second Menu Item'),
                  onTap: () {},
                ),
                new Divider(),
                new ListTile(
                  title: new Text('About'),
                  onTap: () {},
                ),
              ],
            )
          ),
          body: new Center(
            child: new Text(
              'Center',
            ),
          ),
        );
      }
    }
    

    docs 是一个很好的起点 ;)

    顺便说一句:在您的脚手架中包含一个抽屉还可以为您处理菜单按钮和向左滑动手势。

    【讨论】:

      【解决方案3】:

      Stocks exampleDrawer 的使用不太复杂。

      【讨论】:

      • 请避免死链接?
      猜你喜欢
      • 2021-01-26
      • 1970-01-01
      • 2016-11-27
      • 2013-10-03
      • 2015-07-29
      • 2013-02-26
      • 1970-01-01
      • 2013-02-01
      • 2021-05-19
      相关资源
      最近更新 更多