ContextMenu菜单

来源:互联网 发布:招聘数据统计分析表 编辑:程序博客网 时间:2024/05/16 06:26

创建ContexMenu菜单方法一:

布局:

<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.contextmenu.MainActivity" >    <ListView        android:id="@+id/listView1"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:layout_alignParentLeft="true" >    </ListView></RelativeLayout>

package com.example.contextmenu;import java.util.ArrayList;import android.R.integer;import android.app.Activity;import android.os.Bundle;import android.view.ContextMenu;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.ContextMenu.ContextMenuInfo;import android.widget.ArrayAdapter;import android.widget.ListView;import android.widget.Toast;public class MainActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        showListView();    }private void showListView(){ListView listView=(ListView) findViewById(R.id.listView1);ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,getData());listView.setAdapter(adapter);this.registerForContextMenu(listView);}private ArrayList<String> getData(){ArrayList<String> list =new ArrayList<String>();for(int i=0;i<5;i++){list.add("文件"+(i+1));}return list;}@Overridepublic void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {// TODO Auto-generated method stubmenu.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,"重命名");super.onCreateContextMenu(menu, v, menuInfo);}@Overridepublic boolean onContextItemSelected(MenuItem item) {// TODO Auto-generated method stubswitch (item.getItemId()) {case 1:Toast.makeText(this,"点击复制",Toast.LENGTH_SHORT).show();break;case 2:Toast.makeText(this,"点击剪切",Toast.LENGTH_SHORT).show();break;case 3:Toast.makeText(this,"点击粘贴",Toast.LENGTH_SHORT).show();break;case 4:Toast.makeText(this,"点击重命名",Toast.LENGTH_SHORT).show();break;default:break;}return super.onContextItemSelected(item);}    @Override    public boolean onCreateOptionsMenu(Menu menu) {        // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.main, menu);        return true;    }    @Override    public boolean onOptionsItemSelected(MenuItem item) {        // Handle action bar item clicks here. The action bar will        // automatically handle clicks on the Home/Up button, so long        // as you specify a parent activity in AndroidManifest.xml.        int id = item.getItemId();        if (id == R.id.action_settings) {            return true;        }        return super.onOptionsItemSelected(item);    }}
创建ContexMenu菜单方法二:

menu菜单:

<menu xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    tools:context="com.example.contextmenu.MainActivity" ><item        android:id="@+id/action_settings"        android:orderInCategory="100"        android:showAsAction="never"        android:title="其他"/>    <item        android:id="@+id/item_menu1"        android:orderInCategory="100"        android:showAsAction="never"        android:title="复制"/>    <item        android:id="@+id/item_menu2"        android:orderInCategory="100"        android:showAsAction="never"        android:title="剪切"/>    <item        android:id="@+id/item_menu3"        android:orderInCategory="100"        android:showAsAction="never"        android:title="粘贴"/>    <item        android:id="@+id/item_menu4"        android:orderInCategory="100"        android:showAsAction="never"        android:title="重命名"/></menu>


布局:

<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.contextmenu.MainActivity" >    <ListView        android:id="@+id/listView1"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:layout_alignParentLeft="true" >    </ListView></RelativeLayout>


package com.example.contextmenu;import java.util.ArrayList;import android.R.integer;import android.app.Activity;import android.os.Bundle;import android.view.ContextMenu;import android.view.Menu;import android.view.MenuInflater;import android.view.MenuItem;import android.view.View;import android.view.ContextMenu.ContextMenuInfo;import android.widget.ArrayAdapter;import android.widget.ListView;import android.widget.Toast;public class MainActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        showListView();    }private void showListView(){ListView listView=(ListView) findViewById(R.id.listView1);ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,getData());listView.setAdapter(adapter);this.registerForContextMenu(listView);}private ArrayList<String> getData(){ArrayList<String> list =new ArrayList<String>();for(int i=0;i<5;i++){list.add("文件"+(i+1));}return list;}@Overridepublic void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {// TODO Auto-generated method stubmenu.setHeaderTitle("文件操作");menu.setHeaderIcon(R.drawable.ic_launcher);MenuInflater inflater=getMenuInflater();inflater.inflate(R.menu.main, menu);//menu.add(1,1,1,"复制");//menu.add(1,2,1,"剪切");//menu.add(1,3,1,"粘贴");//menu.add(1,4,1,"重命名");super.onCreateContextMenu(menu, v, menuInfo);}@Overridepublic boolean onContextItemSelected(MenuItem item) {// TODO Auto-generated method stubswitch (item.getItemId()) {case R.id.item_menu1:Toast.makeText(this,"点击复制",Toast.LENGTH_SHORT).show();break;case R.id.item_menu2:Toast.makeText(this,"点击剪切",Toast.LENGTH_SHORT).show();break;case R.id.item_menu3:Toast.makeText(this,"点击粘贴",Toast.LENGTH_SHORT).show();break;case R.id.item_menu4:Toast.makeText(this,"点击重命名",Toast.LENGTH_SHORT).show();break;default:break;}return super.onContextItemSelected(item);}    @Override    public boolean onCreateOptionsMenu(Menu menu) {        // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.main, menu);        return true;    }    @Override    public boolean onOptionsItemSelected(MenuItem item) {        // Handle action bar item clicks here. The action bar will        // automatically handle clicks on the Home/Up button, so long        // as you specify a parent activity in AndroidManifest.xml.        int id = item.getItemId();        if (id == R.id.action_settings) {            return true;        }        return super.onOptionsItemSelected(item);    }}


0 0
原创粉丝点击