flutter PopupMenuItem
时间: 2024-08-06 11:00:40 浏览: 104
flutter.docx
在Flutter中,`PopupMenuButton`用于创建一个可以显示下拉菜单的按钮。`PopupMenuItem`则是下拉菜单中的单个选项,通常与`PopupMenuButton`一起使用。
1. 使用`PopupMenuButton`和`PopupMenuItem`的基本示例[^1]:
```dart
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Center(
child: PopupMenuButton<String>(
onSelected: (String value) {
print('You selected: $value');
},
itemBuilder: (BuildContext context) {
return [
PopupMenuItem<String>( // 构建PopupMenuItem
value: 'Option 1',
child: Text('Option 1'),
),
PopupMenuItem<String>(
value: 'Option 2',
child: Text('Option 2'),
),
const PopupMenuItemdivider(), // 添加分割线
PopupMenuItem<String>(
value: 'Option 3',
child: Text('Option 3'),
),
];
},
),
),
),
);
}
}
```
在这个例子中,`itemBuilder`是一个函数,它返回一个`List<PopupMenuItem>`,每个`PopupMenuItem`都有一个`value`属性表示选中时的值,以及一个`child`作为可视化的文本标签。
2. `const PopupMenuItemDivider()`的作用[^2]:
`PopupMenuItemDivider`是一个单独的项,用于在菜单选项之间添加分隔线,通过设置其`height`属性可以调整线条的高度。如上述代码所示,默认高度为 `_kMenuDividerHeight`。
阅读全文