Flutter appBar:如何让appBar溢出到弹出菜单?

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

Flutter 应用栏:

 Scaffold(
   appBar : AppBar(
      actions: [IconButton1 IconButton2 ... IconButtonN]
   ), 
   body:
 );


 IconButton1 IconButton2 ... IconButtonN

在狭窄的屏幕中,图标按钮列表会溢出。如何让溢出的按钮列表自动变成弹出菜单?

 IconButton1 IconButton2 PopupMenuButton
                         Item1
                         Item2
                          ...
                         ItemN
flutter appbar
1个回答
0
投票

您可以使用小部件

PopupMenuButton

具体操作方法如下:

import 'package:flutter/material.dart';

class AppBarWithPopupMenu extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('App Bar with Popup Menu'),
        actions: [
          PopupMenuButton<String>(
            icon: Icon(Icons.more_vert),
            itemBuilder: (BuildContext context) {
              return [
                PopupMenuItem<String>(
                  value: 'option1',
                  child: Text('Option 1'),
                ),
                PopupMenuItem<String>(
                  value: 'option2',
                  child: Text('Option 2'),
                ),
                // ... add more options
              ];
            },
            onSelected: (String value) {
              // Handle selected option
              if (value == 'option1') {
                // Handle Option 1
              } else if (value == 'option2') {
                // Handle Option 2
              }
            },
          ),
        ],
      ),
      body: Center(
        child: Text('Content goes here'),
      ),
    );
  }
}

在此示例中,我们在 AppBar 中添加了一个 PopupMenuButton 作为操作。 AppBar 的 actions 属性采用一个小部件列表,因此您可以将任何其他小部件与 PopupMenuButton 一起包含在内。 PopupMenuButton 在点击时提供一个下拉菜单,您可以使用 itemBuilder 属性定义其项目。当用户从弹出菜单中选择一个项目时,将调用 onSelected 回调。

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