Menu 菜单之OptionsMenu

来源:互联网 发布:lr监控windows资源 编辑:程序博客网 时间:2024/06/07 01:33
1.菜单的分类
 1.1 Options menu 选项菜单  功能主要针对activity
   <menu xmlns:android="http://schemas.android.com/apk/res/android" >
       <group>  可选项
         <item>
         </item>
       </group>
   </menu>
  子菜单  item标签的中间嵌套menu标签
  1.子菜单不能显示图标

  2.子菜单只能有一级



1.2 我们也可以在代码中添加


2,我们在布局中添加menu


<menu xmlns:android="http://schemas.android.com/apk/res/android" >    <item        android:id="@+id/action_settings"        android:orderInCategory="100"        android:showAsAction="never"        android:title="@string/action_settings"/>    <item        android:id="@+id/action_add"        android:icon="@drawable/ic_launcher"        android:orderInCategory="1"        android:showAsAction="never"        android:title="添加"/><!--    android:id="@+id/action_add"   设置menuitem的唯一的标示资源id   android:icon="@drawable/ic_launcher" 设置menuitem的图标   android:title="添加" 设置menuitem的每一项中的文本内容   android:orderInCategory="100" 设置菜单的显示顺序  一般会按照值的生序排列 --></menu>

代码的写法:
package com.qianfeng.optionsmenu;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.MenuItem;import android.widget.Toast;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}/** * 当选项菜单被创建时回调的方法 */@Overridepublic boolean onCreateOptionsMenu(Menu menu) {//获取MenuInflater对象然后调用加载xml文件的inflate方法  getMenuInflater().inflate(R.menu.main, menu);/*第一个参数标示菜单项的分组id * 第二个参数 表示菜单项的资源id * 第三个参数 表示菜单项的显示顺序 * 第四个参数 表示菜单的标题 */menu.add(Menu.NONE, 2, 3, "删除");menu.add(Menu.NONE, 1, 0, "修改");return true;}/** * 当选项菜单中的某一项被点击的时候回调的 * 选项菜单中的每一项在代码中都是MenuItem对象 */@Overridepublic boolean onOptionsItemSelected(MenuItem item) {switch (item.getItemId()) {//获取当前选择的菜单项的idcase R.id.action_add:Toast.makeText(MainActivity.this,item.getTitle(), Toast.LENGTH_SHORT).show();break;case 2:Toast.makeText(MainActivity.this,item.getTitle(), Toast.LENGTH_SHORT).show();break;}return super.onOptionsItemSelected(item);}}


0 0