安卓讲课笔记5.11 菜单
创始人
2024-02-25 11:37:56
0

文章目录

  • 零、本讲学习目标
  • 一、导入新课
  • 二、新课讲解
    • (一)菜单概述
      • 1、选项菜单
      • 2、上下文菜单
      • 3、子菜单
    • (二)选项菜单案例演示
      • 1、创建安卓应用
      • 2、准备图片素材
      • 3、字符串资源文件
      • 4 、主布局资源文件
      • 5、主界面类实现功能
      • 6、启动应用,查看效果
      • 更新到此
    • (三)上下文菜单案例演示
    • (四)子菜单案例演示
    • (五)利用菜单配置文件生成菜单
  • 三、归纳总结
  • 四、上机操作

零、本讲学习目标

  1. 知道三种菜单使用场景
  2. 能够正确使用三种菜单

一、导入新课

  • 菜单在安卓应用程序中占有比较重要的位置。原生安卓提供了三种类型的菜单:选项菜单(OptionsMenu)、上下文菜单(ContextMenu)和子菜单(SubMenu)。有兴趣的同学可以玩一玩Navigation Drawer(导航抽屉),类似于滑动菜单。
    在这里插入图片描述

二、新课讲解

(一)菜单概述

  • 菜单在安卓应用程序中占有比较重要的位置。原生安卓提供了三种类型的菜单:选项菜单(OptionsMenu)、上下文菜单(ContextMenu)和子菜单(SubMenu)。在实际安卓项目中,往往会使用SlidingMenu(滑动菜单),但是要求我们学习如何使用第三方开源库。

1、选项菜单

  • 创建选项菜单
@Override                                               
public boolean onCreateOptionsMenu(Menu menu) {         return super.onCreateOptionsMenu(menu);             
}                                                       

2、上下文菜单

  • 给控件注册上下文菜单
registerForContextMenu(tvWelcome);

3、子菜单

  • 添加子菜单
menu.addSubMenu(1, 1, 1, "设置红色");

(二)选项菜单案例演示

1、创建安卓应用

  • 基于Empty Activity模板创建安卓应用 - OptionsMenuDemo
    在这里插入图片描述
  • 单击【Finish】按钮
    在这里插入图片描述

2、准备图片素材

  • 将背景图片拷贝到drawable目录
    在这里插入图片描述

3、字符串资源文件

  • 字符串资源文件 - strings.xml
    在这里插入图片描述
选项菜单演示弹出选项菜单

4 、主布局资源文件

  • 主布局资源文件 - activity_main.xml
    在这里插入图片描述


5、主界面类实现功能

  • 主界面类 - MainActivity
    在这里插入图片描述

  • 声明菜单标识常量
    在这里插入图片描述

  • 创建选项菜单
    在这里插入图片描述

  • 创建菜单项选择事件方法
    在这里插入图片描述

  • 查看完整代码

package net.hw.optionsmenu;import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Toast;
import android.widget.Toolbar;public class MainActivity extends AppCompatActivity {private static final int NEW_FILE_MENU = 1; // 新建文件菜单标识private static final int OPEN_FILE_MENU = 2; // 打开文件菜单标识private static final int SAVE_FILE_MENU = 3; // 保存文件菜单标识private static final int EXIT_APP_MENU = 4;  // 退出应用菜单标识@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}/*** 创建选项菜单** @param menu* @return 是否成功*/@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// 添加四个菜单项(组标识、菜单项标识、菜单项序号、菜单项标题)menu.add(1, NEW_FILE_MENU, 1, "新建文件");menu.add(1, OPEN_FILE_MENU, 2, "打开文件");menu.add(1, SAVE_FILE_MENU, 3, "保存文件");menu.add(1, EXIT_APP_MENU, 4, "退出应用");return true;}/*** 菜单项选择事件处理方法** @param item* @return 是否成功*/@Overridepublic boolean onOptionsItemSelected(@NonNull MenuItem item) {// 根据菜单项标识判断用户单击了哪个菜单项switch (item.getItemId()) {case NEW_FILE_MENU: // 新建文件菜单项Toast.makeText(this, "你单击了【新建文件】菜单项~", Toast.LENGTH_SHORT).show();break;case OPEN_FILE_MENU: // 打开文件菜单项Toast.makeText(this, "你单击了【打开文件】菜单项~", Toast.LENGTH_SHORT).show();break;case SAVE_FILE_MENU: // 保存文件菜单项Toast.makeText(this, "你单击了【保存文件】菜单项~", Toast.LENGTH_SHORT).show();break;case EXIT_APP_MENU: // 退出应用菜单项finish(); // 关闭当前窗口break;}return true;}    
}

6、启动应用,查看效果

  • 单击活动栏右边的三点按钮,弹出选项菜单
    在这里插入图片描述

更新到此

(三)上下文菜单案例演示

1、创建安卓应用【ContextMenuDemo】
2、将图片素材拷贝到drawable目录
3、主布局资源文件acitivity_main.xml
4、字符串资源文件strings.xml
5、主界面类 - MainActivity
6、启动应用,查看效果

(四)子菜单案例演示

1、创建安卓应用【SubMenuDemo】
2、将背景图片拷贝到drawable目录
3、主布局资源文件activity_main.xml
4、字符串资源文件strings.xml
5、主界面类 - MainActivity
6、启动应用,查看效果

(五)利用菜单配置文件生成菜单

1、常见安卓应用【XMLMenu】
2、将图片素材拷贝到drawable目录
3、主布局资源文件activity_main.xml
4、菜单配置文件main.xml
5、字符串资源文件strings.xml
6、主界面类 - MainActivity
7、启动应用,查看效果
8、文件和编辑不一直出现在活动栏

三、归纳总结

  • 回顾本节课所讲的内容,并通过提问的方式引导学生解答问题并给予指导。

四、上机操作

  • 形式:单独完成
  • 题目:仿照微信生成类似的菜单
  • 要求:单击加号按钮,弹出选项菜单
    在这里插入图片描述

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
苏州离哪个飞机场近(苏州离哪个... 本篇文章极速百科小编给大家谈谈苏州离哪个飞机场近,以及苏州离哪个飞机场近点对应的知识点,希望对各位有...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...