想要弹出内容就可以考虑使用悬浮窗

布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/rl_root"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".LoginActivity" >
    <com.handmark.pulltorefresh.library.PullToRefreshListView
        android:id="@+id/lv_list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:background="#fff" />
    <View
        android:id="@+id/viewHolder"
        android:layout_width="match_parent"
        android:layout_height="53dp"
        android:visibility="gone" />
</LinearLayout>

 代码

	lv_list.setOnItemLongClickListener(new OnItemLongClickListener() {
			@Override
			public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
				Toast.makeText(getApplicationContext(), "长按", 0).show();
				//开启编辑模式
				startEditModel();
				if (position > 0) {
					position -= 1;
				}
				adapter.toggleSelect(view, position);
				return true;
			}
		});
	}
	private boolean isEditModel;
	private int seletedCount;

	/**
	 * 开启编辑模式
	 */
	private void startEditModel() {
		//listview需要刷新
		isEditModel = true;
		adapter.notifyDataSetChanged();
		//修改actionbar
		uploadMenuItem.setVisible(false);
		downloadMenuItem.setVisible(false);
		moreMenuItem.setVisible(false);
		selectMenuItem.setVisible(true);
		actionBar.setDisplayHomeAsUpEnabled(true);
		actionBar.setTitle(String.format("已选定%d个", seletedCount));
		//显示底部的popupwindows
//当在最 底部时会覆盖条目,可以在下面弄个view,让他显示
		showBottomPopupWindow();
		//listview上移
		viewHolder.setVisibility(0);
	}
	/**
	 * 结束编辑模式
	 */
	private void stopEditModel() {
		//listview需要刷新
		isEditModel = false;
		adapter.notifyDataSetChanged();
		//修改actionbar
		uploadMenuItem.setVisible(true);
		downloadMenuItem.setVisible(true);
		moreMenuItem.setVisible(true);
		selectMenuItem.setVisible(false);
		actionBar.setTitle("黑马网盘");
		//返回按钮的处理
		if ("/".equals(curPath)) {
			actionBar.setDisplayHomeAsUpEnabled(false);
		}
		//隐藏popupwindows
		bottomPopupWindow.dismiss();
		//listview还原
		viewHolder.setVisibility(8);
		//还原entryWrapper的选中状态
		for (EntryWrapper entryWrapper : contents) {
			entryWrapper.isCheck = false;
		}
		seletedCount = 0;
	}
	private void showBottomPopupWindow() {
		if (bottomPopupWindow == null) {
			View contentView = View.inflate(MainActivity.this, R.layout.bottom_edit_pop, null);
			int width = ViewGroup.LayoutParams.FILL_PARENT;
			int height = ViewGroup.LayoutParams.WRAP_CONTENT;
			bottomPopupWindow = new PopupWindow(contentView, width, height);
			contentView.findViewById(R.id.DeleteBtn).setOnClickListener(new OnClickListener() {
				@Override
				public void onClick(View v) {
					List<EntryWrapper> selectedEntryWrappers = new ArrayList<EntryWrapper>();
					for (EntryWrapper info : contents) {
						if (info.isCheck) {
							selectedEntryWrappers.add(info);
						}
					}
					StringBuffer sb = new StringBuffer();
					//遍历输出
					for (EntryWrapper entryWrapper : selectedEntryWrappers) {
						sb.append(entryWrapper.entry.fileName()).append(" ");
					}
					System.out.println(sb.toString());
				}
			});
		}
		bottomPopupWindow.showAtLocation(rl_root, Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL, 0, 0);
	}

  

4.PopupWindow的更多相关文章

  1. Android PopupWindow Dialog 关于 is your activity running 崩溃详解

    Android PopupWindow Dialog 关于 is your activity running 崩溃详解 [TOC] 起因 对于 PopupWindow Dialog 需要 Activi ...

  2. Android popupwindow使用心得(一)

    最近项目中好多地方用到popupwindow,感觉这个控件还是非常重要的.所以把使用心得总结下,废话不多说,直接上代码. public class MainActivity extends Activ ...

  3. 不得不吐槽的Android PopupWindow的几个痛点(实现带箭头的上下文菜单遇到的坑)

    说到PopupWindow,我个人感觉是又爱又恨,没有深入使用之前总觉得这个东西应该很简单,很好用,但是真正使用PopupWindow实现一些效果的时候总会遇到一些问题,但是即便是人家的api有问题, ...

  4. 仿QQ空间根据位置弹出PopupWindow显示更多操作效果

    我们打开QQ空间的时候有个箭头按钮点击之后弹出PopupWindow会根据位置的变化显示在箭头的上方还是下方,比普通的PopupWindow弹在屏幕中间显示好看的多. 先看QQ空间效果图:       ...

  5. 自定义PopupWindow

    PopupWindow,一个弹出窗口控件,可以用来显示任意View,而且会浮动在当前activity的顶部 自定义PopupWindow. 1.extends PopupWindow 2.构造方法中可 ...

  6. PopupWindow 使用

    昨天马失前蹄,为了做一个小键盘,耽误了两个小时,记录一下心路历程 1.关于需求与选择 需求: 点击一个按钮,弹出一个小键盘(类似于输入法键盘) 选择: (1)方案一:KeyboardView 这是百度 ...

  7. popupwindow的基本使用以及基本动画效果

    1.创建一个popupwindow view的布局文件自己写一个就好了,这里就不说了 View view= LayoutInflater.from(context).inflate(R.layout. ...

  8. Android -- PopupWindow(其中嵌套ListView 可以被点击)

    1. 效果图

  9. Android开发学习之路-PopupWindow和仿QQ左滑删除

    这周作业,要做一个类似QQ的左滑删除效果的ListView,因为不想给每个item都放一个按钮,所以决定用PopupWindow,这里记录一下 先放一下效果图: 先说明一下这里面的问题: ①没有做到像 ...

  10. android标题栏上面弹出提示框(二) PopupWindow实现,带动画效果

    需求:上次用TextView写了一个从标题栏下面弹出的提示框.android标题栏下面弹出提示框(一) TextView实现,带动画效果,  总在找事情做的产品经理又提出了奇葩的需求.之前在通知栏显示 ...

随机推荐

  1. 繁华模拟赛 Evensgn玩序列

    #include<iostream> #include<cstdio> #include<string> #include<cstring> #incl ...

  2. 淘宝(阿里百川)手机客户端开发日记第八篇 Handler的使用方法

    首先,我们先看下API文档的说明: A Handler allows you to send and process Message and Runnable objects associated w ...

  3. 诠释Linux中『一切都是文件』概念和相应的文件类型

    导读 在 Unix 和它衍生的比如 Linux 系统中,一切都可以看做文件.虽然它仅仅只是一个泛泛的概念,但这是事实.如果有不是文件的,那它一定是正运行的进程. 要理解这点,可以举个例子,您的根目录( ...

  4. 在VMware上面安装Solaris 10

    导读 Oracle Solaris 11 是世界上最先进的企业操作系统,提供安全.速度.简单的企业云环境和DevOps.在这篇文章中我们将使用Solaris 10版本,但您可以按照同样的步骤,来安装刚 ...

  5. ios流媒体

    http://my.oschina.net/CgShare/blog/302303 渐进式下载(伪流媒体) 介于下载本地播放与实时流媒体之间的一种播放形式,下载本地播放必须全部将文件下载完成后才能播放 ...

  6. 在VMware的虚拟机平台上如何进行网络设置

    1.本文构建的是这样一个网络,有两台winXP系统的PC,处于同一局域网内,PC里 都装有VMware虚拟机,虚拟机上跑的是Redhat Linux 9,我们想要在winXP系统下访问本机的虚拟机li ...

  7. 【云计算】docker daemon如何提供Restful的API

    Docker Remote API 如何使用? docker 的 Remote API 定义如下: 这个API看着是http协议的但是我用 curl http://127.0.0.1:4243/con ...

  8. [MySQL] - MySQL的Grant命令

    本文实例,运行于 MySQL 5.0 及以上版本. MySQL 赋予用户权限命令的简单格式可概括为: grant 权限 on 数据库对象 to 用户 一.grant 普通数据用户,查询.插入.更新.删 ...

  9. codeigniter load_class

    2014年7月7日 14:33:36 函数定义在 system/core/common.php中 使用方法是 load_class('Hooks', 'core'): 在core目录内寻找Hooks类 ...

  10. Price List

    Price List Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/131072 K (Java/Others)Tota ...