用activity做菜单

本文介绍如何通过长按item来实现一个利用Activity创建的弹出菜单。内容包括MainActivity的实现,MenuWindow类,Adapter类,Item类的定义,以及相关布局文件如activity_main.xml, item.xml和menu.xml的配置。别忘了在AndroidManifest.xml中注册MenuWindow Activity,并在styles.xml中添加Activity样式,同时设置进出动画和动画资源文件。" 102931693,8153442,Angular封装时间选择组件,"['Angular', '前端开发', '组件库', 'date-time']
摘要由CSDN通过智能技术生成

利用Activity做一个弹出式菜单

实现长按item弹出菜单
话不多说,看源码

MainActivity

package com.bjyz.test;

import java.util.ArrayList;
import java.util.List;

import org.w3c.dom.Text;

import android.R.integer;
import android.R.menu;
import android.R.string;
import android.nfc.Tag;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.util.Log;
import android.view.ContextMenu;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.View.OnCreateContextMenuListener;
import android.view.Window;

import android.view.WindowManager;
import android.widget.AdapterView;
import android.widget.AdapterView.AdapterContextMenuInfo;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemLongClickListener;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.PopupMenu;
import android.widget.PopupMenu.OnMenuItemClickListener;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity implements
		android.view.View.OnClickListener {
	private ListView listview;
	public static Adapter adapter;
	private int a;
	private Dialog dialog;
	private List<Item> adapterList = new ArrayList<Item>();

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		init();

		// 添加list内容

		adapterList.add(new Item(false));
		adapterList.add(new Item(false));
		adapterList.add(new Item(false));
		adapterList.add(new Item(false));
		adapterList.add(new Item(false));
		adapterList.add(new Item(false));
		adapterList.add(new Item(false));
		adapterList.add(new Item(false));
		adapterList.add(new Item(false));
		adapterList.add(new Item(false));
		adapterList.add(new Item(false));
		adapterList.add(new Item(false));
		adapterList.add(new Item(false));
		adapterList.add(new Item(false));
		adapterList.add(new Item(false));

	}

	private void init() {
		listview = (ListView) findViewById(R.id.listView1);
		adapter = new Adapter(this, R.layout.item, adapterList);
		listview.setAdapter(adapter);// 关联适配器

		/*
		 * 使用activity实现弹窗
		 */
		 listview.setOnItemLongClickListener(new OnItemLongClickListener() {
		
		@Override
		 public boolean onItemLongClick(AdapterView<?> parent, View view,
		 int position, long id) {
		 Intent intent=new Intent(MainActivity.this,MenuWindow.class);
		intent.putExtra("position", position);
		startActivity(intent);
		 return false;
		 }
		 });
}

MenuWindow.java

package com.bjyz.test;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Gravity;
import android.view.MotionEvent;
import android.view.View;
impor
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值