Android菜单实例_第1张图片

点击菜单按钮,弹出菜单

xml文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="horizontal">

<TextView android:id="@+id/text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>

</LinearLayout>

.java文件

package com.example.menutestone;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;
import android.widget.TextView;

public class MainActivity extends Activity {
TextView text;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

text=(TextView) super.findViewById(R.id.text);
}

//重写Activity的onCreateOptionsMenu(Menu menu)的方法,在该方法里调用Menu对象的方法来添加菜单项或者子菜单
@Override
public boolean onCreateOptionsMenu(Menu menu) {

//添加车型菜单
SubMenu carStyle=menu.addSubMenu("车型");
//设置车型的图标
carStyle.setIcon(R.drawable.ic_launcher);
//设置弹出框图片
carStyle.setHeaderIcon(R.drawable.ic_launcher);
//弹出框的标题
carStyle.setHeaderTitle("选择车型");
//添加子车型数据
/**
* add有四个参数
* 第一个 group ID,代表的是组的概念
* 第二个 item ID,代表的是项目编号 0x111只是一个标志号
* 第三个 order ID,代表的是菜单项的显示顺序,默认是0,表示菜单是按照add的显示顺序来显示
* 第四个表示的是title参数
*/
carStyle.add(0, 0x111, 0, "宝马");
carStyle.add(0, 0x112, 0, "奔驰");
carStyle.add(0, 0x113, 0, "奥迪");
carStyle.add(0, 0x114, 0, "大众");
carStyle.add(0, 0x115, 0, "福特");

//向Menu当中添加普通菜单项
menu.add(0, 0x211, 0, "地区");

//添加价格
SubMenu money=menu.addSubMenu("价格");
money.setIcon(R.drawable.ic_launcher);
//设置弹出选择框的图片
money.setHeaderIcon(R.drawable.ic_launcher);
//设置弹出选择框的内容
money.setHeaderTitle("请选择价格");
money.add(0, 0x311, 0, "10万以内");
money.add(0, 0x312, 0, "10-30万");
money.add(0, 0x313, 0, "30-50万");
money.add(0, 0x314, 0, "80万以上");

return super.onCreateOptionsMenu(menu);
}

//菜单项被单击后的回调方法
@Override
public boolean onOptionsItemSelected(MenuItem item) {
//判断点击的是哪个菜单项
switch(item.getItemId()){
case 0x111:
text.setText("您的车型为宝马");
break;
case 0x112:
text.setText("您的车型为奔驰");
break;
case 0x113:
text.setText("您的车型为奥迪");
break;
case 0x114:
text.setText("您的车型为大众");
break;
case 0x115:
text.setText("您的车型为福特");
case 0x211:
text.setText("选择地区");
break;
case 0x311:
text.setText("价格10万以内");
break;
case 0x312:
text.setText("10-30万");
break;
case 0x313:
text.setText("30-50万");
break;
case 0x314:
text.setText("80万以上");
break;
}
return true;
}
}

更多相关文章

  1. Android 长按setOnItemLongClickListener 显示context Menu(上下
  2. [置顶] android 菜单的详细介绍
  3. android菜单
  4. Android 创建菜单栏
  5. Android 自定义控件打造史上最简单的侧滑菜单
  6. android的map上的浮动菜单以及日历控件
  7. android 菜单实例
  8. Android Launcher3主菜单背景改为黑色

随机推荐

  1. Juniper防火墙基于带外管理实例配置SNMP
  2. 注定不平凡的2019~~
  3. 直播 | 开启你的阿拉丁神灯
  4. oracle如何处理行锁
  5. Linux基础-20day-linux磁盘分区(fdisk/par
  6. JavaScript变量中你不知道的几个小埋伏!
  7. 使用Pixelmator Pro调整照片,让画面变得清
  8. OSD 自动升级Dell BIOS 版本
  9. 记录shell脚本中的特殊变量
  10. Linux运维入门教程03-01 (目录文件的浏览