Android开发长按菜单上下文菜单

盛年不重来,一日难再晨,及时当勉励,岁月不待人。这篇文章主要讲述Android开发长按菜单上下文菜单相关的知识,希望能为你提供帮助。
安卓开发中长按弹出菜单的创建方法:
1.首先给View注册上下文菜单registerForContextMenu();
2.添加上下文菜单内容onCreateContextMenu():
---可以通过代码动态添加;
---可以加载xml文件中的菜单项;
3.设置菜单点击后响应事件onContextItemSelected();
运行效果图如下:

Android开发长按菜单上下文菜单

文章图片
Android开发长按菜单上下文菜单

文章图片
Android开发长按菜单上下文菜单

文章图片

 
 
 
activity_main.xml代码如下:
< RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.androidtest.MainActivity" > < ListView android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/listview" > < /ListView> < /RelativeLayout>

 
MainActivity.java代码如下:
package com.example.androidtest; import java.util.ArrayList; import android.annotation.SuppressLint; import android.app.Activity; import android.app.NotificationManager; import android.os.Bundle; import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.ListView; import android.widget.Toast; @SuppressLint("NewApi") public class MainActivity extends Activity implements OnClickListener{ Button button1; Button button2; NotificationManager manager; int nid; String[] items={"唱歌","学习","跑步"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); showListView(); }

private void showListView(){ ListView listview = (ListView) findViewById(R.id.listview); ArrayAdapter< String> adapter = new ArrayAdapter< String> (this,android.R.layout.simple_list_item_1,getData()); listview.setAdapter(adapter); this.registerForContextMenu(listview); } @Overridepublic void onCreateContextMenu(ContextMenu menu,View v,ContextMenuInfo menuInfo){ super.onCreateContextMenu(menu,v,menuInfo); //设置Menu显示内容 menu.setHeaderTitle("文件操作"); menu.setHeaderIcon(R.drawable.ic_launcher); menu.add(1,1,1,"复制"); menu.add(1,2,1,"粘贴"); menu.add(1,3,1,"剪切"); menu.add(1,4,1,"重命名"); }@Override public boolean onContextItemSelected(MenuItem item){ switch(item.getItemId()){ case 1: Toast.makeText(MainActivity.this,"点击复制",Toast.LENGTH_SHORT).show(); break; case 2: Toast.makeText(MainActivity.this,"点击粘贴",Toast.LENGTH_SHORT).show(); break; case 3: Toast.makeText(MainActivity.this,"点击剪切",Toast.LENGTH_SHORT).show(); break; case 4: Toast.makeText(MainActivity.this,"点击重命名",Toast.LENGTH_SHORT).show(); break; } return super.onContextItemSelected(item); }private ArrayList< String> getData(){ ArrayList< String> list = new ArrayList< String> (); for(int i=0; i< 5; i++){ list.add("文件"+(i+1)); } return list; } @Override public void onClick(View v) { // TODO Auto-generated method stub}


【Android开发长按菜单上下文菜单】 
}

 

    推荐阅读