Android中的设置按钮:长按或点击菜单键

1.长按选项:

布局文件:

 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2     xmlns:tools="http://schemas.android.com/tools" 3     android:layout_width="match_parent" 4     android:layout_height="match_parent" 5     android:orientation="vertical" 6     android:paddingBottom="@dimen/activity_vertical_margin" 7     android:paddingLeft="@dimen/activity_horizontal_margin" 8     android:paddingRight="@dimen/activity_horizontal_margin" 9     android:paddingTop="@dimen/activity_vertical_margin"10     tools:context=".MenuActivity" >11 12     <TextView13         android:id="@+id/menutext1"14         android:layout_width="fill_parent"15         android:layout_height="wrap_content"16         android:text="第一种方法创建菜单"17         android:textSize="20sp" />18 19     <TextView20         android:id="@+id/menutext2"21         android:layout_width="fill_parent"22         android:layout_height="wrap_content"23         android:text="第二种方法创建菜单"24         android:textSize="20sp" />25 26     <ListView27         android:id="@+id/menulist"28         android:layout_width="fill_parent"29         android:layout_height="fill_parent"30         android:layout_marginTop="50dp" >31     </ListView>32 33 </LinearLayout>

实现过程:

 1 private ListView list; 2     private TextView lv; 3  4     String[] str = { "TextView", "EditView", "Toast(消息框)" }; 5  6     @Override 7     protected void onCreate(Bundle savedInstanceState) { 8         super.onCreate(savedInstanceState); 9         setContentView(R.layout.activity_menu);10 11         list = (ListView) findViewById(R.id.menulist);12         ArrayAdapter<String> arr = new ArrayAdapter<String>(this,13                 android.R.layout.simple_list_item_1, str);14         list.setAdapter(arr);15 16         list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {17 18             @Override19             public void onCreateContextMenu(ContextMenu menu, View v,20                     ContextMenuInfo menuInfo) {21                 menu.clear();22                 menu.clearHeader();23                 menu.setHeaderIcon((R.drawable.ic_launcher));24                 menu.setHeaderTitle("我是ListView");25                 menu.add(3, 6, 0, "删除");26                 menu.add(3, 7, 1, "修改");27             }28         });29         // 第一种方法30         TextView tv = (TextView) findViewById(R.id.menutext1);31         this.registerForContextMenu(tv);32         // 第二种方法33         lv = (TextView) findViewById(R.id.menutext2);34         lv.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {35 36             @Override37             public void onCreateContextMenu(ContextMenu menu, View v,38                     ContextMenuInfo menuInfo) {39                 menu.setHeaderTitle("长度-ContextMenu");40                 menu.add(0, 1, 0, "复制");41                 SubMenu sb = menu.addSubMenu("查找");42                 sb.add(1, 2, 0, "按id查找");43                 sb.add(1, 3, 0, "按名称查找");44             }45         });46     }

2.长按菜单项:

 1 private ListView list; 2     private TextView lv; 3  4     String[] str = { "TextView", "EditView", "Toast(消息框)" }; 5  6     @Override 7     protected void onCreate(Bundle savedInstanceState) { 8         super.onCreate(savedInstanceState); 9         setContentView(R.layout.activity_menu);10 11         list = (ListView) findViewById(R.id.menulist);12         ArrayAdapter<String> arr = new ArrayAdapter<String>(this,13                 android.R.layout.simple_list_item_1, str);14         list.setAdapter(arr);15 16         list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {17 18             @Override19             public void onCreateContextMenu(ContextMenu menu, View v,20                     ContextMenuInfo menuInfo) {21                 menu.clear();22                 menu.clearHeader();23                 menu.setHeaderIcon((R.drawable.ic_launcher));24                 menu.setHeaderTitle("我是ListView");25                 menu.add(3, 6, 0, "删除");26                 menu.add(3, 7, 1, "修改");27             }28         });29         // 第一种方法30         TextView tv = (TextView) findViewById(R.id.menutext1);31         this.registerForContextMenu(tv);32         // 第二种方法33         lv = (TextView) findViewById(R.id.menutext2);34         lv.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {35 36             @Override37             public void onCreateContextMenu(ContextMenu menu, View v,38                     ContextMenuInfo menuInfo) {39                 menu.setHeaderTitle("长度-ContextMenu");40                 menu.add(0, 1, 0, "复制");41                 SubMenu sb = menu.addSubMenu("查找");42                 sb.add(1, 2, 0, "按id查找");43                 sb.add(1, 3, 0, "按名称查找");44             }45         });46     }

Over

更多相关文章

  1. android:layout_weight 属性对于组件长度的影响
  2. Android版本号对应API、版本名称、NDK版本等
  3. Android 长按setOnItemLongClickListener 显示context Menu(上下
  4. android获取应用名称,判断应用是否安装
  5. android自带的drawable图标ico名称对应表
  6. [置顶] android 菜单的详细介绍
  7. android菜单
  8. 从零开始学android开发-adt-bundle-eclipse下的修改android app
  9. Android 创建菜单栏

随机推荐

  1. Android mediaserver占用CPU过高的问题
  2. Android全局变量使用
  3. android Handler 优势和劣势【原创】
  4. The lifecycle of an android applicatio
  5. 文件编码的测试(android)
  6. 使用WIFI连接android进行调试和adb操作
  7. 【Android】使用dex2jar 与JD-Gui 反编译
  8. [Android] 一键修改从网上厨房制作的Andr
  9. Android之自动文本输入识别提示
  10. android 查看解压后的.xml文件代码(axmlpr