android 上下文菜单详解
16lz
2021-12-04
本文使用xml来创建上下文菜单
<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/add" android:title="添加" android:orderInCategory="4" /> <item android:id="@+id/delete" android:title="删除" android:orderInCategory="1" /> <item android:id="@+id/query" android:title="查询" android:orderInCategory="2" /> <item android:id="@+id/update" android:title="更新" android:orderInCategory="3" /></menu>
orderInCategory属性为排列顺序
MyActivity的布局:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <Button android:id="@+id/btn" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="弹出上下文菜单" /></LinearLayout>
MyActivity.java
package com.example.contextMenuTest;import android.app.Activity;import android.os.Bundle;import android.view.ContextMenu;import android.view.MenuItem;import android.view.View;import android.widget.Button;import android.widget.Toast;public class MyActivity extends Activity { private Button button; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); button = (Button) findViewById(R.id.btn); //为按钮注册contextMenu,当你长按按钮的时候就会调用onCreateContextMenu方法 registerForContextMenu(button); } /** * 注意:每次长按注册了contextMenu的控件,都会重新调用该方法 */ @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { System.out.println("com.example.contextMenuTest.MyActivity.onCreateContextMenu"); getMenuInflater().inflate(R.menu.basic_main, menu); //设置标题栏的图标 menu.setHeaderIcon(R.drawable.ic_launcher); //设置标题栏的文字 menu.setHeaderTitle("请选择操作"); } @Override public boolean onContextItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.add: Toast.makeText(this, "你点击了添加!", 1).show(); break; case R.id.delete: Toast.makeText(this, "你点击了删除!", 1).show(); break; case R.id.update: Toast.makeText(this, "你点击了修改!", 1).show(); break; case R.id.query: Toast.makeText(this, "你点击了查询!", 1).show(); break; } return true; }}
更多相关文章
- Android和H5混合开发(一)
- Android调用系统分享
- Android点击左右按钮实现左右滑动页面切换
- Android监听返回键
- android - uri
- Android(安卓)ArrayAdapter的使用
- 2011.09.07(3)——— android 跨进程通信之Broadcast
- Android中TextView富文本适配问题
- Android(安卓)文件管理器 Android文件管理器源代码