此文写的简单明了 非常不错的文章 果断转载造福人民群众...

9ecccdc58a98681045b56143aa4f98fa.png

Android用户界面主要由View、Menu、对话框组成。

菜单Menu主要有三种,选择菜单(OptionsMenu)、上下文菜单(ContextMenu)、子菜单(SubMenu)。

我们这里主要讲选择菜单(OptionsMenu)。

Android手机上有个Menu按键,当按下Menu键的时候,每个Activity都可以选择处理这一请求,在屏幕底部弹出一个菜单。就是选  择菜单。

main.xml 代码部分

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="Menu的学习"

android:textSize="22px"

/>

MenuActivity.java 代码部分

import android.app.Activity;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

import android.widget.Toast;

public class MenuActivity extends Activity {

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

}

//创建menu,Activity调用onCreateOptionsMenu(Menu menu)方法,传一个实现Menu接口的menu对象,供使用。

@Override

public boolean onCreateOptionsMenu(Menu menu){

//menu.add()里面有四个参数依次是:

//第一个,组别。

//第二个,ID。是menu识别编号,供识别menu用的。很重要。

//第三个,顺序。这个参数的大小决定菜单出现的先后顺序。顺序是参数由小到大,菜单从左到右,从上到下排列。一行最多三个。

//第四个,显示文本。

menu.add(0,Menu.FIRST,0,"添加").setIcon(android.R.drawable.ic_menu_add);

menu.add(0,Menu.FIRST+1,1,"保存").setIcon(android.R.drawable.ic_menu_save);

menu.add(0,Menu.FIRST+2,2,"发送").setIcon(android.R.drawable.ic_menu_send);

menu.add(1,Menu.FIRST+3,3,"详细").setIcon(android.R.drawable.ic_menu_info_details);

menu.add(1,Menu.FIRST+4,4,"删除").setIcon(android.R.drawable.ic_menu_delete);

menu.add(1,Menu.FIRST+5,5,"帮助").setIcon(android.R.drawable.ic_menu_help);

//只有返回True才会起作用。

return true;

}

//菜单项选择事件

@Override

public boolean onOptionsItemSelected(MenuItem item){

switch(item.getItemId()){

case Menu.FIRST:

Toast.makeText(this,"添加菜单被点击了",Toast.LENGTH_SHORT).show();

break;

case Menu.FIRST+1:

Toast.makeText(this,"保存菜单被点击了",Toast.LENGTH_SHORT).show();

break;

case Menu.FIRST+2:

Toast.makeText(this,"发送菜单被点击了",Toast.LENGTH_SHORT).show();

break;

case Menu.FIRST+3:

Toast.makeText(this,"详细菜单被点击了",Toast.LENGTH_SHORT).show();

break;

case Menu.FIRST+4:

Toast.makeText(this,"删除菜单被点击了",Toast.LENGTH_SHORT).show();

break;

case Menu.FIRST+5:

Toast.makeText(this,"帮助菜单被点击了",Toast.LENGTH_SHORT).show();

break;

}

return false;

}

//菜单被显示之前的事件

@Override

public boolean onPrepareOptionsMenu(Menu menu){

Toast.makeText(this,"菜单被显示之前的事件,可以在这里调整菜单",Toast.LENGTH_LONG).show();

return true;

//必须返回True才能调用onCreateOptionsMenu(Menu menu)方法。

}

//选择菜单的关闭事件。

//有三种关闭方式,menu按钮再被点击,back按钮被点击,用户选择另一个菜单项。

@Override

public void onOptionsMenuClosed(Menu menu){

Toast.makeText(this,"菜单被关闭了",Toast.LENGTH_SHORT).show();

}

}

运行结果如下:

75a5f0e8ed701f752cf534a7.jpg

3a643b54a754269a7e9ea670ca068390.png

c30c4c3932745e50bce6d21c2e5149b6.gif

60d4d8377f0f11f45fdf0ea7.jpg

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐