Android Studio 菜单之OptionMenu

2023-10-28 21:40

本文主要是介绍Android Studio 菜单之OptionMenu,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1,在模拟器上或者在真机上都有一个Menu键,点击该键后就会弹出一个菜单,该菜单就是选项菜单。
2,创建一个选项菜单:
a)方法onCreateOptionsMenu,通过Menu中的add方法新建菜单并添加菜单项。
b)方法onOptionsItemSelected,响应菜单项的点击事件。
接下来直接上实例
先创建一个Project,找到main目录下的res文件,右击,创建一个资源文件
在这里插入图片描述
在这里插入图片描述
第一个是文件名,在第二行,即红色方框内选择Menu,这样就可以创建菜单文件了,创建好了之后右键菜单目录,new–Menu Resource File创建菜单,输入文件名即可
接下来就附上简单的一个实例

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"><itemandroid:title="save"android:icon="@mipmap/ic_launcher"app:showAsAction="always|withText"android:id="@+id/save"/><itemandroid:title="setting"android:id="@+id/setting"/><itemandroid:title="more"android:id="@+id/more"><menu><itemandroid:title="exit"android:id="@+id/exit"/></menu></item></menu>

item用来创建一个新的菜单,在item下在创建一个子菜单(注意红色方框里没有“/”),当你点击菜单之后,点击more还会弹出一个菜单栏
在这里插入图片描述

然后就是设置MainActivity.java文件
主要有两个方法,一个是创建OptionMenu方法,还有一个就是响应菜单事件OptionsItemSelected方法,onOptionsItemSelected方法里我设置了两个弹窗事件和一个退出程序的事件,当点击exit的时候,程序会自动退出

package com.example.myapplication;import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate (savedInstanceState);setContentView (R.layout.activity_main);}//创建OptionMenu菜单@Overridepublic boolean onCreateOptionsMenu(Menu menu) {//加载资源菜单getMenuInflater ().inflate (R.menu.menu,menu);  //第一个传入的参数是你创建的menu的名字return true;  //一定要return true 才会显示出来}//当你选中某个Menu时触发的事件@Overridepublic boolean onOptionsItemSelected(MenuItem item) {switch (item.getItemId ()){            //获取Idcase R.id.save:Toast.makeText (this,"保存成功",Toast.LENGTH_LONG).show ();break;case  R.id.setting:Toast.makeText (this,"设置",Toast.LENGTH_LONG).show ();break;case  R.id.exit:finish ();            //退出程序break;}return super.onOptionsItemSelected (item);}
}

效果展示图
点击setting所出现的效果
在这里插入图片描述
点击more后的效果,再点击exit程序就退出
在这里插入图片描述

还有就是关于布局文件中的几个属性**
app:showAsAction属性值:
always:直接显示在标题栏
never:不显示
withText:控制图标和文本一起显示
ifRoom:空间足够的话就会显示

这篇关于Android Studio 菜单之OptionMenu的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/296130

相关文章

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

Android ClassLoader加载机制详解

《AndroidClassLoader加载机制详解》Android的ClassLoader负责加载.dex文件,基于双亲委派模型,支持热修复和插件化,需注意类冲突、内存泄漏和兼容性问题,本文给大家介... 目录一、ClassLoader概述1.1 类加载的基本概念1.2 android与Java Class

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

Android DataBinding 与 MVVM使用详解

《AndroidDataBinding与MVVM使用详解》本文介绍AndroidDataBinding库,其通过绑定UI组件与数据源实现自动更新,支持双向绑定和逻辑运算,减少模板代码,结合MV... 目录一、DataBinding 核心概念二、配置与基础使用1. 启用 DataBinding 2. 基础布局

Android ViewBinding使用流程

《AndroidViewBinding使用流程》AndroidViewBinding是Jetpack组件,替代findViewById,提供类型安全、空安全和编译时检查,代码简洁且性能优化,相比Da... 目录一、核心概念二、ViewBinding优点三、使用流程1. 启用 ViewBinding (模块级

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

Android NDK版本迭代与FFmpeg交叉编译完全指南

《AndroidNDK版本迭代与FFmpeg交叉编译完全指南》在Android开发中,使用NDK进行原生代码开发是一项常见需求,特别是当我们需要集成FFmpeg这样的多媒体处理库时,本文将深入分析A... 目录一、android NDK版本迭代分界线二、FFmpeg交叉编译关键注意事项三、完整编译脚本示例四

Android与iOS设备MAC地址生成原理及Java实现详解

《Android与iOS设备MAC地址生成原理及Java实现详解》在无线网络通信中,MAC(MediaAccessControl)地址是设备的唯一网络标识符,本文主要介绍了Android与iOS设备M... 目录引言1. MAC地址基础1.1 MAC地址的组成1.2 MAC地址的分类2. android与I

Android 实现一个隐私弹窗功能

《Android实现一个隐私弹窗功能》:本文主要介绍Android实现一个隐私弹窗功能,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 效果图如下:1. 设置同意、退出、点击用户协议、点击隐私协议的函数参数2. 《用户协议》、《隐私政策》设置成可点击的,且颜色要区分出来res/l

Android实现一键录屏功能(附源码)

《Android实现一键录屏功能(附源码)》在Android5.0及以上版本,系统提供了MediaProjectionAPI,允许应用在用户授权下录制屏幕内容并输出到视频文件,所以本文将基于此实现一个... 目录一、项目介绍二、相关技术与原理三、系统权限与用户授权四、项目架构与流程五、环境配置与依赖六、完整