Android菜单实例

Android菜单实例_第1张图片

点击菜单按钮,弹出菜单

xml文件

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

            android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>


.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;
}
}

你可能感兴趣的:(Android)