想要弹出内容就可以考虑使用悬浮窗
<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的更多相关文章
-
Android PopupWindow Dialog 关于 is your activity running 崩溃详解
Android PopupWindow Dialog 关于 is your activity running 崩溃详解 [TOC] 起因 对于 PopupWindow Dialog 需要 Activi ...
-
Android popupwindow使用心得(一)
最近项目中好多地方用到popupwindow,感觉这个控件还是非常重要的.所以把使用心得总结下,废话不多说,直接上代码. public class MainActivity extends Activ ...
-
不得不吐槽的Android PopupWindow的几个痛点(实现带箭头的上下文菜单遇到的坑)
说到PopupWindow,我个人感觉是又爱又恨,没有深入使用之前总觉得这个东西应该很简单,很好用,但是真正使用PopupWindow实现一些效果的时候总会遇到一些问题,但是即便是人家的api有问题, ...
-
仿QQ空间根据位置弹出PopupWindow显示更多操作效果
我们打开QQ空间的时候有个箭头按钮点击之后弹出PopupWindow会根据位置的变化显示在箭头的上方还是下方,比普通的PopupWindow弹在屏幕中间显示好看的多. 先看QQ空间效果图: ...
-
自定义PopupWindow
PopupWindow,一个弹出窗口控件,可以用来显示任意View,而且会浮动在当前activity的顶部 自定义PopupWindow. 1.extends PopupWindow 2.构造方法中可 ...
-
PopupWindow 使用
昨天马失前蹄,为了做一个小键盘,耽误了两个小时,记录一下心路历程 1.关于需求与选择 需求: 点击一个按钮,弹出一个小键盘(类似于输入法键盘) 选择: (1)方案一:KeyboardView 这是百度 ...
-
popupwindow的基本使用以及基本动画效果
1.创建一个popupwindow view的布局文件自己写一个就好了,这里就不说了 View view= LayoutInflater.from(context).inflate(R.layout. ...
-
Android -- PopupWindow(其中嵌套ListView 可以被点击)
1. 效果图
-
Android开发学习之路-PopupWindow和仿QQ左滑删除
这周作业,要做一个类似QQ的左滑删除效果的ListView,因为不想给每个item都放一个按钮,所以决定用PopupWindow,这里记录一下 先放一下效果图: 先说明一下这里面的问题: ①没有做到像 ...
-
android标题栏上面弹出提示框(二) PopupWindow实现,带动画效果
需求:上次用TextView写了一个从标题栏下面弹出的提示框.android标题栏下面弹出提示框(一) TextView实现,带动画效果, 总在找事情做的产品经理又提出了奇葩的需求.之前在通知栏显示 ...
随机推荐
-
前端Js框架汇总
概述: 有些日子没有正襟危坐写博客了,互联网飞速发展的时代,技术更新迭代的速度也在加快.看着Java.Js.Swift在各领域心花路放,也是煞是羡慕.寻了寻.net的消息,也是振奋人心,.net co ...
-
【洛谷P1080】国王游戏
我们按照左右手数的乘积升序排序,就能使最多金币数最小了 为什么呢? 我们知道: 1)如果相邻的两个人交换位置,只会影响到这两个人的值,不会影响他人 2)假设相邻的两个人i, i + 1.设A[i] B ...
-
spring实战三装配bean之Bean的作用域以及初始化和销毁Bean
1.Bean的作用域 所有的spring bean默认都是单例.当容器分配一个Bean时,不论是通过装配还是调用容器的getBean()方法,它总是返回Bean的同一个实例.有时候需要每次请求时都获得 ...
-
剑指offer-面试题9.斐波拉契数列
题目一:写一个函数,输入n,求斐波拉契数列的第n项. 斐波拉契数列的定义如下: { n=; f(n)={ n=; { f(n-)+f(n-) n>; 斐波拉契问题很明显我们会想到用递归来解决: ...
-
jquery的选项卡事件
<?php /* * * @Authors peng--jun * @Email 1098325951@qq.com * @Date 2015-11-28 09:26:54 * @Link ht ...
-
Delphi 3D Glscene安装
GLScene开源库Delphi基于提供OpenGL的3D框架.由GLScene组件,您可以轻松地创建和渲染你的3D幕后.令人奇怪的是,.对于这样一个很好的开源库.该网络无法找到完整的安装说明,甚至G ...
-
Mysql 根据时间戳按年月日分组统计
Mysql 根据时间戳按年月日分组统计create_time时间格式SELECT DATE_FORMAT(create_time,'%Y%u') weeks,COUNT(id) COUNT FROM ...
-
Linux的vi常用命令详解
1.vi的基本概念 基本上vi可以分为三种状态,分别是命令模式(command mode).插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下: ...
-
mysql 用多次查询代替一次复杂join查询的优点分析
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt344 多高性能的应用都会对关联查询进行分解.简单地,可以对每一个表进行一次单 ...
-
从Thread.start()方法看Thread源码,多次start一个线程会怎么样
这篇文章作为Thread类源码剖析的补充,从一个侧面来看Thread源码.也解答了面试高频问题:"多次start一个线程会怎么样?" 答案是:java.lang.IllegalTh ...