您的位置:首页 > 移动开发 > Android开发

Android学习(二十一)OptionsMenu选项菜单

2015-04-18 13:16 459 查看
一、OptionsMenu选项菜单

  在应用程序中点击功能按钮会弹出选项菜单,点击可以实现具体功能。

二、实现思路:

  1、创建选项菜单: onCreateOptionsMenu();

  2、设置菜单项可用代码动态设置menu.add();还可以通过xml设置Menuinflater.infalte(R.menu.menu);

  3、设置菜单的点击事件:onOptionsItemSelect();

三、示例代码:

自定义菜单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=".MainActivity">
<item
android:id="@+id/action_settings1"
android:orderInCategory="100"
android:title="菜单1"
app:showAsAction="never" />

<item
android:id="@+id/action_settings2"
android:orderInCategory="200"
android:title="菜单2"
app:showAsAction="never" />
</menu>


AndroidManifest.xml配置文件,添加一个新的页面

<activity
android:name=".MenuActivity"
android:label="菜单设置页面"></activity>


mainActivity.java 后台代码文件

package com.example.zhengcheng.optionsmenudemo;

import android.content.Intent;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;

public class MainActivity extends ActionBarActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
//加载xml文件中的菜单
//getMenuInflater().inflate(R.menu.menu_main, menu);

//动态添加菜单
menu.add(1,101,1,"菜单1");
menu.add(1,102,1,"菜单2");
menu.add(1,103,1,"菜单3");
menu.add(1,104,1,"菜单4");
menu.add(1,105,1,"菜单5");
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();

//获取页面中点击的哪一个菜单项
//        switch (id){
//            case R.id.action_settings1:
//                Toast.makeText(this,"点击了菜单1",Toast.LENGTH_SHORT).show();
//                break;
//            case R.id.action_settings2:
//                Toast.makeText(this,"点击了菜单2",Toast.LENGTH_SHORT).show();
//                break;
//        }

//获取动态生成的菜单项
switch (id){
case 101:
//点击菜单,打开一个新的页面
Intent intent = new Intent(MainActivity.this,MenuActivity.class);
item.setIntent(intent);
break;
case 102:
Toast.makeText(this,"点击了菜单2",Toast.LENGTH_SHORT).show();
break;
case 103:
Toast.makeText(this,"点击了菜单3",Toast.LENGTH_SHORT).show();
break;
case 104:
Toast.makeText(this,"点击了菜单4",Toast.LENGTH_SHORT).show();
break;
case 105:
Toast.makeText(this,"点击了菜单5",Toast.LENGTH_SHORT).show();
break;
}

return super.onOptionsItemSelected(item);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: