Activity 菜单功能
来源:互联网 发布:mysql 删除数据 编辑:程序博客网 时间:2024/06/06 05:06
在Android应用中我们经常会使用菜单功能,而它又分为标准菜单和上下文菜单两种。
1.上下文菜单
注册上下文菜单到给定的VIew ------> void registerForContextMenu(View view);
创建你所要展示的上下文菜单元素 -----> void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo);
菜单点击事件处理 ----> boolean onContextItemSelected(MenuItem item);
2.标准菜单,在版本3.0以上后都和ActionBar一起使用,通过物理功能Menu键可以控制。
创建标准菜单 -----> onCreateOptionsMenu(Menu menu); 该方法只执行一次,2种方式用于创建你所需元素,代码创建和menu.xml引入
在显示菜单前调用 ----> onPrepareOptionsMenu(Menu menu); 用于控制是否显示菜单,修改编辑菜单
菜单点击事件处理 -----> onOptionsItemSelected(MenuItem item);
menu.xml资源需要放在res/menu中
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/action_add" android:icon="@android:drawable/ic_menu_add" android:title="@string/action_bar_add" /> <item android:id="@+id/action_edit" android:icon="@android:drawable/ic_menu_edit" android:title="@string/action_bar_edit" app:showAsAction="always" /> <item android:id="@+id/action_share" android:icon="@android:drawable/ic_menu_share" android:title="@string/action_bar_share" app:showAsAction="ifRoom" /> <item android:id="@+id/action_sort" android:icon="@android:drawable/ic_menu_sort_by_size" android:title="@string/action_bar_sort" app:showAsAction="ifRoom"> <menu> <item android:id="@+id/action_sort_size" android:icon="@android:drawable/ic_menu_sort_by_size" android:title="@string/action_bar_sort_size" android:onClick="onSort" /> <item android:id="@+id/action_sort_alpha" android:icon="@android:drawable/ic_menu_sort_alphabetically" android:title="@string/action_bar_sort_alpha" android:onClick="onSort" /> </menu> </item></menu>
代码例子:
public class MainActivity extends Activity {private Button btn;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.main);btn = (Button) findViewById(R.id.btn);// 给Button 注册上下文菜单registerForContextMenu(btn);}@Overridepublic void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {// TODO Auto-generated method stubsuper.onCreateContextMenu(menu, v, menuInfo);// 代码创建上下文菜单元素 ,其中itemId是唯一的menu.add(1, 1, 1, "删除");menu.add(1, 2, 1, "更新");menu.add(1, 3, 1, "新增");// 通过引入menu.xml的方式控制菜单元素MenuInflater inflater = getMenuInflater();inflater.inflate(R.menu.actions, menu);}@Overridepublic boolean onContextItemSelected(MenuItem item) {// TODO Auto-generated method stubint itemId = item.getItemId();switch (itemId) {case 1:Toast.makeText(getApplicationContext(), "click删除菜单", Toast.LENGTH_SHORT).show();break;case 2:Toast.makeText(getApplicationContext(), "click更新菜单", Toast.LENGTH_SHORT).show();break;case 3:Toast.makeText(getApplicationContext(), "click新增菜单", Toast.LENGTH_SHORT).show();break;default:break;}return super.onContextItemSelected(item);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// TODO Auto-generated method stubLog.i("TAG", "onCreateOptionsMenu");MenuInflater inflater = getMenuInflater();inflater.inflate(R.menu.actions, menu);return true;}@Overridepublic boolean onPrepareOptionsMenu(Menu menu) {// TODO Auto-generated method stub// 这里可以做修改菜单和控制菜单有效return super.onPrepareOptionsMenu(menu);}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// TODO Auto-generated method stubToast.makeText(this, "Selected Item: " + item.getTitle(), Toast.LENGTH_SHORT).show();return true;}}这样菜单功能就完成。
0 0
- Activity 菜单功能
- IE菜单功能汇总
- IE功能菜单
- JS 右键菜单功能
- JS 右键菜单功能
- jQuery--右键菜单功能
- 取消智能菜单功能
- 取消智能菜单功能
- 自定义右键菜单功能
- Android画图板 - 菜单功能
- 菜单功能的扩展
- Menu功能菜单 android
- TOC右键菜单功能
- 仿UCWEB菜单功能
- Xcode菜单功能中文翻译
- 12684 菜单功能实现
- 金蝶EAS功能菜单
- HTML实现菜单功能
- 第一章 Swift语法介绍
- jsp使用JavaBean
- 吐槽一下 XCode 开发工具,可以吗?
- 6月11日Android笔记
- Linux平台设备驱动
- Activity 菜单功能
- 中科大考研计划
- oracle-使用数据泵对不同用户和不同表空间的数据迁移
- 第一节 Swift 简单的值类型(变量和常量)
- vim超过80列提示
- 一个1~n的自然数的乱序数组,其中缺失了1到n之间的某个数,如何快速找出这个数?
- [LeetCode] Restore IP Address [28]
- linux平台设备驱动架构详解 Linux Platform Device and Driver
- 计算机考研总结