美文网首页
Flutter - 导航栏按钮

Flutter - 导航栏按钮

作者: 辻子路 | 来源:发表于2019-07-16 09:34 被阅读0次

    这篇我们来介绍下app上方的导航栏按钮用法。
    我们前面说过scaffold这个脚手架里面有个appBar这个widget。它便是app上面的组件,自然也包含了一些我们需要的按钮组件,我们来看下示例代码:

    class Home extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return Scaffold(
            appBar: AppBar(
              leading: IconButton(
                icon: Icon(Icons.menu),
                tooltip: 'Navigreation',
                onPressed: () => debugPrint('Navigreation button is pressed'),
              ),
              title: Text('导航'),
              actions: <Widget>[
                IconButton(
                  icon: Icon(Icons.search),
                  tooltip: 'Search',
                  onPressed: () => debugPrint('Search button is pressed'),
                ),
                IconButton(
                  icon: Icon(Icons.more_horiz),
                  tooltip: 'More',
                  onPressed: () => debugPrint('More button is pressed'),
                )
              ],
            ),
            body: null);
      }
    }
    
    • leading
      它是顶部导航栏最左边的按钮,IconButton便是按钮组件,里面的icon就是按钮图标,Icons是内置的一些图标样式。tooltip是按钮说明,onPressed是按钮事件,我们通过debugPrint可以看到点击按钮后,在控制台输出对应的文字。
    • actions
      它是顶部导航栏右方的一排组件。 上面代码我们定义了搜索和...两个按钮,分别设置了其对应的按钮事件。
      显示如下:
      button.png

    完整代码如下:

    import 'package:flutter/material.dart';
    
    void main() {
      runApp(App());
    }
    
    class App extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return MaterialApp(
          debugShowCheckedModeBanner: false,
          home: Home(),
          theme: ThemeData(
            primarySwatch: Colors.yellow,
          ),
        );
      }
    }
    
    class Home extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return Scaffold(
            appBar: AppBar(
              leading: IconButton(
                icon: Icon(Icons.menu),
                tooltip: 'Navigreation',
                onPressed: () => debugPrint('Navigreation button is pressed'),
              ),
              title: Text('导航'),
              actions: <Widget>[
                IconButton(
                  icon: Icon(Icons.search),
                  tooltip: 'Search',
                  onPressed: () => debugPrint('Search button is pressed'),
                ),
                IconButton(
                  icon: Icon(Icons.more_horiz),
                  tooltip: 'More',
                  onPressed: () => debugPrint('More button is pressed'),
                )
              ],
            ),
            body: null);
      }
    }
    
    

    相关文章

      网友评论

          本文标题:Flutter - 导航栏按钮

          本文链接:https://www.haomeiwen.com/subject/pznnkctx.html