menu
来源:互联网 发布:wmware 怎么安装mac os 编辑:程序博客网 时间:2024/06/16 17:18
1、选项菜单
/** * 此方法会在父类的onCreate方法中进行回调,用于创建 一些选项菜单 */@Overridepublic 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.xmlmenu);// 可选:获得itemMenuItem 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的点击事件 */@Overridepublic 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、该菜单的其他实现方式
@Overridepublic 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>}
0 0
- Menu
- Menu
- menu
- menu
- menu
- Menu
- MENU
- menu
- menu
- Menu
- Menu
- menu
- menu
- Menu
- Menu
- Menu
- MENU
- Menu
- jdbc 连 oracle 12c
- Hadoop安装教程_单机/伪分布式配置
- 阅读程序
- C++ STL中Map的按Key排序和按Value排序
- 运算符重载
- menu
- 练字一定要用钢笔吗?
- RxJava 与 Retrofit 结合的最佳实践
- Handler机制源码探索(一):UI线程中Handler的初始化流程
- 用 LaTeX 写漂亮学位论文(from wloo)
- 阅读程序Stl
- 101. Symmetric Tree
- 怎么练字才会有效果,多久才能有体现
- mysql数据类型