Flutter - 仿微信右上角pop弹框封装 - JhPopMenus
Flutter仿微信右上角pop弹框封装 - JhPopMenus
在 Flutter 开发中,弹出菜单是一个常见的UI组件。微信的右上角弹出菜单是很多用户熟悉的界面元素。在本文中,我们将介绍如何使用Flutter来实现一个类似微信右上角pop弹框的封装库 - JhPopMenus。
效果图
首先,让我们看一下JhPopMenus的效果图:
![JhPopMenus效果图]( 在你的Flutter项目中添加JhPopMenus依赖:
```dartdependencies:
flutter:
sdk: flutter jh_pop_menus: ^0.1.2```
2. 导入JhPopMenus包:
```dartimport 'package:jh_pop_menus/jh_pop_menus.dart';
```
3. 使用JhPopMenus的showLinePop方法显示弹出菜单:
```dartvoid _showMenu() {
JhPopMenus.showLinePop(
context,
clickCallback: (index, selText) {
print('选中index:$index');
print('选中文本:$selText');
},
items: [
'选项1',
'选项2',
'选项3',
],
);
}
```
4. 在你的Widget树中添加一个Button,点击该按钮显示弹出菜单:
```dartElevatedButton(
onPressed: _showMenu,
child: Text('显示弹出菜单'),
)
```
样式1 - 带分隔线
JhPopMenus支持多种样式。下面是带分隔线的样式示例:
```dartvoid _showLineMenu() {
JhPopMenus.showLinePop(
context,
clickCallback: (index, selText) {
print('选中index:$index');
print('选中文本:$selText');
},
items: [
'选项1',
'选项2',
'选项3',
],
);
}
```
样式2 - 不带背景
JhPopMenus还支持不带背景的样式示例:
```dartvoid _showNoBackgroundMenu() {
JhPopMenus.showNoBackgroundPop(
context,
clickCallback: (index, selText) {
print('选中index:$index');
print('选中文本:$selText');
},
items: [
'选项1',
'选项2',
'选项3',
],
);
}
```
样式3 - 带背景
JhPopMenus支持带背景的样式示例:
```dartvoid _showBackgroundMenu() {
JhPopMenus.showBackgroundPop(
context,
clickCallback: (index, selText) {
print('选中index:$index');
print('选中文本:$selText');
},
items: [
'选项1',
'选项2',
'选项3',
],
);
}
```
总结
JhPopMenus是一个类似微信右上角pop弹框的封装库。它支持多种样式和功能,方便开发者快速实现弹出菜单效果。在本文中,我们介绍了如何使用JhPopMenus的基本步骤、样式示例以及demo源码地址。