menu
2016-06-07 20:53
447 查看
1、选项菜单
2、菜单条目
4、该菜单的其他实现方式
5、该菜单的其他实现方式2
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="always"
android:title="@string/action_settings"
android:icon="@android:drawable/ic_menu_set_as">
<menu>
<item android:id="@+id/item01"
android:orderInCategory="200"
android:showAsAction="never"
android:title="item01"/>
<item android:id="@+id/item02"
android:orderInCategory="201"
android:showAsAction="never"
android:title="item01"/>
</menu>
</item>
</menu>
6、PopupMenu
public void onClick(final View v) {
<span style="white-space:pre"> </span>// 1.构建一个PopuMenu对象,并将此对象注册到一个view上
<span style="white-space:pre"> </span>PopupMenu pm = new PopupMenu(this, v);
<span style="white-space:pre"> </span>// 2.构建菜单项对象
<span style="white-space:pre"> </span>/*
<span style="white-space:pre"> </span> * pm.getMenuInflater() .inflate(R.menu.main, pm.getMenu());
<span style="white-space:pre"> </span> */
<span style="white-space:pre"> </span>pm.getMenu().add(1, 1, 100, "A");
<span style="white-space:pre"> </span>pm.getMenu().add(1, 2, 101, "B");
<span style="white-space:pre"> </span>pm.getMenu().add(1, 3, 102, "C");
<span style="white-space:pre"> </span>// 添加监听器
<span style="white-space:pre"> </span>pm.setOnMenuItemClickListener(new OnMenuItemClickListener() {
<span style="white-space:pre"> </span>@Override
<span style="white-space:pre"> </span>public boolean onMenuItemClick(MenuItem item) {
<span style="white-space:pre"> </span>((Button) v).setText(item.getTitle());
<span style="white-space:pre"> </span>return true;
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>});
<span style="white-space:pre"> </span>// 3.显示菜单
<span style="white-space:pre"> </span>pm.show();
<span style="white-space:pre"> </span>}
/** * 此方法会在父类的onCreate方法中进行回调,用于创建 一些选项菜单 */ @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. // 1.根据资源Id,找到对应xml资源 // 2.解析xml资源,获得对应的item元素 // 3.通过反射构建item对象 // 4.将item对象添加到menu对象中 getMenuInflater().inflate(R.menu.main,// res/menu/main.xml menu); // 可选:获得item MenuItem item = menu.findItem(R.id.item00); SearchView sv = (SearchView) item.getActionView(); // sv.setOnQueryTextListener(listener) return true; }
2、菜单条目
<menu xmlns:android="http://schemas.android.com/apk/res/android" > <!-- 菜单项目 --> <item android:id="@+id/item00" android:orderInCategory="100" android:showAsAction="always|collapseActionView" android:actionViewClass="android.widget.SearchView" android:title="item00" android:icon="@android:drawable/ic_menu_search"/> <item android:id="@+id/item01" android:orderInCategory="100" android:showAsAction="never" android:title="item01"/> <item android:id="@+id/item02" android:orderInCategory="101" android:showAsAction="always" android:title="item02" android:icon="@android:drawable/ic_menu_call"/> <item android:id="@+id/item03" android:orderInCategory="102" android:showAsAction="always" android:title="item03" android:icon="@android:drawable/ic_menu_camera"/> </menu>3、菜单的点击事件
/** 监听选项菜单的item的点击事件 */ @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id == R.id.item02) { // Toast.makeText(this, "拨号", 1).show(); Intent intent = new Intent(Intent.ACTION_CALL); intent.setData(Uri.parse("tel:010")); startActivity(intent); } else if (id == R.id.item03) { } return true; }
4、该菜单的其他实现方式
@Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. // getMenuInflater().inflate(menuRes, menu) MenuItem item01 = menu.add(1, 100, 200, "item01"); item01.setIcon(android.R.drawable.ic_menu_add); item01.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); MenuItem item02 = menu.add(1, 101, 201, "item02"); item02.setIcon(android.R.drawable.ic_menu_close_clear_cancel); item02.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); MenuItem item03 = menu.add(1, 102, 201, "item02"); item03.setIcon(android.R.drawable.ic_menu_search); item03.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW); item03.setActionView(new SearchView(this)); // menu.addSubMenu(groupId, itemId, order, title) return true; }
5、该菜单的其他实现方式2
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="always"
android:title="@string/action_settings"
android:icon="@android:drawable/ic_menu_set_as">
<menu>
<item android:id="@+id/item01"
android:orderInCategory="200"
android:showAsAction="never"
android:title="item01"/>
<item android:id="@+id/item02"
android:orderInCategory="201"
android:showAsAction="never"
android:title="item01"/>
</menu>
</item>
</menu>
6、PopupMenu
public void onClick(final View v) {
<span style="white-space:pre"> </span>// 1.构建一个PopuMenu对象,并将此对象注册到一个view上
<span style="white-space:pre"> </span>PopupMenu pm = new PopupMenu(this, v);
<span style="white-space:pre"> </span>// 2.构建菜单项对象
<span style="white-space:pre"> </span>/*
<span style="white-space:pre"> </span> * pm.getMenuInflater() .inflate(R.menu.main, pm.getMenu());
<span style="white-space:pre"> </span> */
<span style="white-space:pre"> </span>pm.getMenu().add(1, 1, 100, "A");
<span style="white-space:pre"> </span>pm.getMenu().add(1, 2, 101, "B");
<span style="white-space:pre"> </span>pm.getMenu().add(1, 3, 102, "C");
<span style="white-space:pre"> </span>// 添加监听器
<span style="white-space:pre"> </span>pm.setOnMenuItemClickListener(new OnMenuItemClickListener() {
<span style="white-space:pre"> </span>@Override
<span style="white-space:pre"> </span>public boolean onMenuItemClick(MenuItem item) {
<span style="white-space:pre"> </span>((Button) v).setText(item.getTitle());
<span style="white-space:pre"> </span>return true;
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>});
<span style="white-space:pre"> </span>// 3.显示菜单
<span style="white-space:pre"> </span>pm.show();
<span style="white-space:pre"> </span>}
相关文章推荐
- drupal中hook_menu()使用
- Android菜单menu控件大全
- C#实现Menu和ContextMenu自定义风格及contextMenu自定义
- android编程之menu按键功能实现方法
- 学习理解Android菜单Menu操作
- Android学习笔记――Menu介绍(一)
- Android开发之menu菜单
- Android学习笔记――Menu介绍(三)
- Android学习笔记――Menu介绍(二)
- Android提高之自定义Menu(TabMenu)实现方法
- Android实现扩展Menu的方法
- Android中捕捉menu按键点击事件的方法
- Android动态添加menu菜单的简单方法
- 详解Android中的Menu菜单键
- Java Swing中的下拉式菜单(menu)、弹出式菜单(JPopupMenu)、选项卡窗体(JTabbedPane)组件使用案例
- 如何找回Notepad++的右键菜单
- Yii2 rbac权限控制之菜单menu实例教程
- Android 自定义系统菜单的背景源码
- menu基本用法
- 2015Android移动开发应用主流菜单模式