我是靠谱客的博主 舒服可乐,最近开发中收集的这篇文章主要介绍Android_选项菜单的创建选项菜单,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

选项菜单

钟表走着同样的节拍,夜晚缀着同一簇星星。

菜单模式介绍

​ 菜单是增强用户应用程序使用便捷性的一种重要功能,在模拟器或者真机上面都有Menu键,点击该键就会弹出一个菜单

  • 目前常见的菜单UI包括:
    • 选项菜单(Options menu)
    • 上下文菜单(Context menu)
    • 弹出菜单(Popup menu)
    • 子菜单(Sub menu)
  • android.view.Menu接口代表一个菜单,android用它来管理各种菜单项。
  • 每个Activity默认都自带了一个menu,开发人员通过重写回调方法、为它加菜单项和响应菜单的点击事件。
    • Android.view.Menultem代表每个菜单项
    • android.view.SubMenu代表子菜单
  • Android提供了标准的XML格式来定义菜单项

选项菜单的添加步骤

  1. 创建资源文件夹
  2. 创建Menu XML文件
  3. 添加Menu Items
  4. 创建Menu Items的图标
  5. 注册视图元素
  6. 获得菜单资源
  7. 响应Item选择事件

创建菜单项目(Basic Activity)

​ 创建一个项目Basic Activity,其他也行

创建菜单界面并加载菜单

  • 在R.文件下建立menu文件夹,在menu文件夹下新建menu xml文件
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.example.menudemo.MainActivity">
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:title="@string/action_settings"
app:showAsAction="ifRoom|withText"
android:icon="@drawable/png1"/>
<item
android:id="@+id/action_help"
android:title="@string/action_help"
android:orderInCategory="90"
app:showAsAction="always"
android:icon="@drawable/png2"/>
<item
android:id="@+id/action_File"
android:title="@string/action_file"
android:orderInCategory="80"
app:showAsAction="never">
<menu>
<item
android:id="@+id/action_open"
android:title="@string/action_open"/>
<item
android:id="@+id/action_close"
android:title="@string/action_close"/>
</menu>
</item>
</menu>

android:orderInCategory=“100” -->设置每个菜单项目的权重,权重越大,选项约 在下
android:title=“string” -->设置菜单项目的名字
app:showAsAction=" " -->设置菜单项目的显示方式
ifRoom 位置足够显示在标题栏目
withText 显示菜单项目名字(默认)
always 总是显示在标题栏
never 不显示在标题栏
android:icon="@drawable/" -->设置菜单项目的图片样式代替字体
可在<item>中添加<menu>创建选项菜单中的选项菜单

  • 在主界面java文件中加载菜单(注册视图元素和获取菜单元素)
	@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}

定制菜单行为响应

​ 在java代码中实现菜单行为的响应

	@SuppressLint("SetTextI18n")
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
textView
= findViewById(R.id.textview_first);
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
textView.setText("Setting菜单被选中");
return true;
}
if (id == R.id.action_help) {
textView.setText("help菜单被选中");
return true;
}
if (id == R.id.action_File) {
textView.setText("File菜单被选中");
return true;
}
return super.onOptionsItemSelected(item);
}
/*Setting菜单自己的onClick的方法*/
public void setting(MenuItem menuItem){
textView
= findViewById(R.id.textview_first);
textView.setText("Setting方法中的Setting菜单被选中");
}

1.通过获取每个item的不同ID对每个菜单选项进行监控,推荐使用switch()进行每个菜单的监听

2.当item调用自己的onClick()方法的时候不在调用onOptionsItemSelected()方法中的处理事件

最后

以上就是舒服可乐为你收集整理的Android_选项菜单的创建选项菜单的全部内容,希望文章能够帮你解决Android_选项菜单的创建选项菜单所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部