(2)Menu

(一) Menu

    • App bar with options menu
    • Context menu
    • Contextual action bar
    • Popup menu

1. App bar with options menu(选项菜单)

1.1通过在XML文件中添加控件来实现

res文件夹 -> menu文件夹 -> main.xml

item的图标可通过:右击drawable->new->Image Asset 添加

说明

MainActivity.java中重写两个方法

1.2 通过动态代码实现

menu.add(groupId,itemId,order,title),add()返回一个item【在API>=11时,是不显示图标的】

代码

2.Context Menu(上下文菜单)

当用户长按Activity页面时,弹出的菜单我们称为上下文菜单。我们经常在Windows中用鼠标右键单击弹出的菜单就是上下文菜单。

ContextMenu与OptionMenu的区别:

    • OptionMenu对应的是activity,一个activity只能拥有一个选项菜单;
    • ContextMenu对应的是view,每个view都可以设置上下文菜单;
    • 一般情况下ContextMenu常用语ListView或者GridView

实现 步骤:

  • 1.首先给View注册上下文菜单registerForContextMenu()
    this.registerForContextMenu(contextView);
  • 2.添加上下文菜单的内容onCreateContextMenu()

布局文件(xml文件)

MainActivity.java

3.PopupMenu(弹出菜单)

PopupMenu,弹出菜单,一个模态形式展示的弹出风格的菜单,绑在在某个View上,一般出现在被绑定的View的下方(如果下方有空间)。
注意:弹出菜单是在API 11和更高版本上才有效的。

核心步骤

    • 通过PopupMenu的构造函数实例化一个PopupMenu对象,需要传递一个当前上下文对象以及绑定的View。
    • 调用PopupMenu.setOnMenuItemClickListener()设置一个PopupMenu选项的选中事件。
    • 使用MenuInflater.inflate()方法加载一个XML文件到PopupMenu.getMenu()中。
    • 在需要的时候调用PopupMenu.show()方法显示。

res/menu/main.xml

MainActivity.java:

(二) Dialogs and pickers

    • Alert dialog
    • Date picker
    • Time picker
posted @   雪隐lys  阅读(276)  评论(0编辑  收藏  举报
编辑推荐:
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· .NET 进程 stackoverflow异常后,还可以接收 TCP 连接请求吗?
阅读排行:
· 本地部署 DeepSeek:小白也能轻松搞定!
· 基于DeepSeek R1 满血版大模型的个人知识库,回答都源自对你专属文件的深度学习。
· 在缓慢中沉淀,在挑战中重生!2024个人总结!
· 大人,时代变了! 赶快把自有业务的本地AI“模型”训练起来!
· Tinyfox 简易教程-1:Hello World!
点击右上角即可分享
微信分享提示