Flutter菜单按钮插件menu_button的使用
Flutter菜单按钮插件menu_button的使用
Flutter小部件用于简单且易于自定义地显示一个弹出式菜单按钮。
资源
安装
在你的pubspec.yaml
文件中添加以下依赖:
dependencies:
menu_button: ^1.4.2+1
然后导入它:
import 'package:menu_button/menu_button.dart';
使用
该小部件有许多属性可以进行定制。我们将在这里看到一些基本参数,以便获得一个简单的菜单按钮。
首先,我们需要声明一个变量来保存所选项目(selectedKey
),以及一个包含所有要在菜单按钮中显示的项目的列表。
这里我们创建一个字符串列表,我们将其命名为keys
,并包含值'Low'
、'Medium'
和 'High'
。
String selectedKey;
List<String> keys = [
'Low',
'Medium',
'High',
];
现在我们有了这两个元素,我们可以开始使用MenuButton<T>
小部件了。
MenuButton<String>(
child: normalChildButton,
items: keys,
itemBuilder: (String value) => Container(
height: 40,
alignment: Alignment.centerLeft,
padding: const EdgeInsets.symmetric(vertical: 0.0, horizontal: 16),
child: Text(value),
),
toggledChild: Container(
child: normalChildButton,
),
onItemSelected: (String value) {
setState(() {
selectedKey = value;
});
},
onMenuButtonToggle: (bool isToggle) {
print(isToggle);
},
)
最后,这里是上面菜单按钮使用的child
小部件的一个示例:
final Widget normalChildButton = SizedBox(
width: 93,
height: 40,
child: Padding(
padding: const EdgeInsets.only(left: 16, right: 11),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Flexible(
child: Text(selectedKey, overflow: TextOverflow.ellipsis)
),
const SizedBox(
width: 12,
height: 17,
child: FittedBox(
fit: BoxFit.fill,
child: Icon(
Icons.arrow_drop_down,
color: Colors.grey,
),
),
),
],
),
),
);
更多关于Flutter菜单按钮插件menu_button的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复