-
PopupMenuButton:菜单按钮组件,点击后弹出PopupMenuItem,PopupMenuDivider设置分割线,空间前带选中的使用CheckedPopupMenuItem、
-
showMenu:显示Menu方法,跟onPressed连用
2.1 源码
const PopupMenuButton({
Key? key,
required this.itemBuilder,
this.initialValue,
this.onSelected,
this.onCanceled,
this.tooltip,
this.elevation,
this.padding = const EdgeInsets.all(8.0),
this.child,
this.icon,
this.iconSize,
this.offset = Offset.zero,
this.enabled = true,
this.shape,
this.color,
this.enableFeedback,
})
2.2 属性说明
| 属性 | 说明 | 取值 |
| :-: | :-: | :-: |
| initialValue | 初始值 | T |
| onSelected | 选中调用 | Function(T value) |
| onCanceled | 取消选中 | Function() |
| tooltip | 长按时显示文本 | String |
| child | menu控件 | Widget |
| icon | menu图标 | Widget |
| iconSize | 图标大小 | double |
| offset | 菜单弹出的位置 | Offset |
| shape | 弹出菜单边框 | ShapeBorder |
| color | 弹出菜单颜色 | Color |
3.1 源码
const PopupMenuItem({
Key? key,
this.value,
this.enabled = true,
this.height = kMinInteractiveDimension,
this.textStyle,
this.mouseCursor,
required this.child,
})
3.2 属性说明
| 属性 | 说明 | 取值 |
| :-: | :-: | :-: |
| value | 当此项选中后,此值将会通过onSelected
返回 | T |
| enabled | 此项是否可用 | bool |
| height | 此项的高度 | double |
| textStyle | 文本样式 | TextStyle |
| child | 子控件 | Widget |
4.1 源码
const PopupMenuDivider({ Key? key, this.height = _kMenuDividerHeight })
4.2 属性说明
- height:分割线控件的高度
5.1 源码
const CheckedPopupMenuItem({
Key? key,
T? value,
this.checked = false,
bool enabled = true,
Widget? child,
})
5.2 属性说明
| 属性 | 说明 | 取值 |
| :-: | :-: | :-: |
| value | 当此项选中后,此值将会通过onSelected
返回 | T |
| checked | 该控件是否被选中 | bool |
| enabled | 该控件是否可用 | bool |
| child | 子控件 | Widget |
6.1 PopupMenuButton+PopupMenuItem
代码
PopupMenuButton(
shape: RoundedRectangleBorder(side: BorderSide(color: Colors.red), borderRadius: BorderRadius.circular(20)),
offset: Offset(0, 30),
elevation: 5,
padding: EdgeInsets.all(5),
//color: Colors.grey,
child: RaisedButton(child: Text(‘学科’),),
//icon: Icon(Icons.add),
initialValue: ‘语文’,
tooltip: ‘PopupMenuButton’,
onSelected: (value) {
print(‘$value’);
},
onCanceled: () {
print(‘onCanceled’);
},
itemBuilder: (context) {
return <PopupMenuEntry>[
PopupMenuItem(
value: ‘语文’,
child: Text(‘语文’),
),
PopupMenuDivider(height: 20,),
PopupMenuItem(
value: ‘数学’,
enabled: false,
child: Text(‘数学’,style: TextStyle(color: Colors.red),),
),
PopupMenuDivider(),
PopupMenuItem(
value: ‘英语’,
child: Text(‘英语’),
),
PopupMenuDivider(),
PopupMenuItem(
value: ‘生物’,
child: Text(‘生物’),
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
209917)]
[外链图片转存中…(img-OxWvbO2Q-1715561209918)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!