Android中的Menu(菜单)的三种类型菜单的学习
Android中的Menu(菜单)的三种类型菜单的学习
今天学习一下菜单组件,在Android中的菜单中有三种①:OptionMenu(选项菜单)②:ContextMenu(上下文菜单) ③:SubMenu(子菜单)下面分别来学一下
一:OptionMenu(选项菜单) 当我们使用手机的时候,按着手机上面的Menu,弹出的菜单就是选项菜单。但是我们一次性能显示菜单选项只能是6个
如果我们设置的超过6个时候,第六个菜单选项会自动设置成更多,然后我们点击更多的时候,剩下来的选项菜单就会选项.。先看下选项菜单的测试截图
下面我们来创建一个选项菜单,步骤如下:
①:先去覆盖Activity中的onCreateOptionsMenu(),但是这个方法只会在第一次调用的时候会被实例化,当实例化时候,就不会在被调用了
②:调用add()来添加菜单选项.add(groupId, itemId, order, titleRes)方法中个参数的意思是,
* @param group
* : 选项组号,一般都设置成0就OK啦
* @param itenId
* : 选项的Id 很重要
* @param order
* :顺序,一般来说都设置0就行了
* @param titelRes
* : 选项的标题名字
*/
③:覆盖onCreateOptionsMenu(Menu menu)menu.getItemId()来获取选项的Id
下面来看下Demo源代码:
- package com.jiangqq.menu;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.widget.Toast;
- /**
- * ①:直接去覆盖public boolean onCreateOptionsMenu(Menu menu) { code......},
- * 这个方法,需要注意的是,这个方法如果覆盖的了,只会被创建一次,也就是说, 选项菜单只会去被实例化一次,,,之后就不会被去调用了
- * ②:调用Menu中的add()方法,来添加每一个菜单选项, add(groupId, itemId, order, titleRes) group:
- * 选项组号,一般都设置成0就OK啦 itenId: 选项的Id 很重要 order:顺序,一般来说都设置0就行了 titelRes: 选项的标题名字
- * ③:当我们去点击某项的选项的时候,覆盖重写onOptionsItemSelected(MenuItem item)这个方法去实现点击事件
- *
- * @author jiangqq
- *
- */
- public class Option_Menu_Activity extends Activity {
- // 点击菜单选项的常量Id
- private static final int menu1 = 1;
- private static final int menu2 = 2;
- private static final int menu3 = 3;
- private static final int menu4 = 4;
- private static final int menu5 = 5;
- private static final int menu6 = 6;
- private static final int menu7 = 7;
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- }
- /**
- * @param group
- * : 选项组号,一般都设置成0就OK啦
- * @param itenId
- * : 选项的Id 很重要
- * @param order
- * :顺序,一般来说都设置0就行了
- * @param titelRes
- * : 选项的标题名字
- */
- public boolean onCreateOptionsMenu(Menu menu) {
- menu.add(0, menu1, 0, "Menu1");
- menu.add(0, menu2, 0, "Menu2");
- menu.add(0, menu3, 0, "Menu3");
- menu.add(0, menu4, 0, "Menu4");
- menu.add(0, menu5, 0, "Menu5");
- menu.add(0, menu6, 0, "Menu6");
- menu.add(0, menu7, 0, "Menu7");
- return true;
- }
- /**
- *
- * @param item
- * .getItemId() 获取被点击的Id
- */
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case menu1:
- Toast.makeText(this, "你点击Menu1", Toast.LENGTH_LONG).show();
- break;
- case menu2:
- Toast.makeText(this, "你点击Menu2", Toast.LENGTH_LONG).show();
- break;
- case menu3:
- Toast.makeText(this, "你点击Menu3", Toast.LENGTH_LONG).show();
- break;
- case menu4:
- Toast.makeText(this, "你点击Menu4", Toast.LENGTH_LONG).show();
- break;
- case menu5:
- Toast.makeText(this, "你点击Menu5", Toast.LENGTH_LONG).show();
- break;
- case menu6:
- Toast.makeText(this, "你点击Menu6", Toast.LENGTH_LONG).show();
- break;
- case menu7:
- Toast.makeText(this, "你点击Menu7", Toast.LENGTH_LONG).show();
- break;
- }
- return true;
- }
- }
|
评论暂时关闭