4.PopupWindow
想要弹出内容就可以考虑使用悬浮窗
<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实现,带动画效果, 总在找事情做的产品经理又提出了奇葩的需求.之前在通知栏显示 ...
随机推荐
- HDU4870_Rating_双号从零单排_高斯消元求期望
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=4870 原题: Rating Time Limit: 10000/5000 MS (Java/Other ...
- Android空间EditText的InputType属性
android中inputType属性在EditText输入值时启动的虚拟键盘的风格有着重要的作用.这也大大的方便的操作.有时需要虚拟键盘只为字符或只为数字.所以inputType尤为重要. < ...
- IOS APP的所有图标尺寸规范
转自: http://blog.csdn.net/chonbj/article/details/25133247 像我一样记不住iOS应用图标像素尺寸的开发者不在少数,我经常需要查询不同设备上的应用尺 ...
- Dynamic Morphing Square(动态变形矩阵)
题目描述: 解题思路: 先对输入的N进行判断,是否不小于3,如果小于3,需要继续输入一个新的数,知道输入的N比3大. 第一个打印的矩阵,*号为最外面一圈,其余全为-. 第二个打印的矩阵,*号向内缩减了 ...
- SPFA算法心得
SPFA算法是改进后的Bellman-Ford算法,只是速度更快,而且作为一个算法,它更容易理解和编写,甚至比Dijkstra和B-F更易读(当然,Floyd是另一回事了,再也没有比Floyd还好写的 ...
- OpenResty(Nginx)+Lua+GraphicsMagick实现缩略图功能
http://www.hopesoft.org/blog/?p=1188 http://www.imagemagick.org/download/ 2.用法 原始图片是input.jpg,尺寸:160 ...
- Redis和Memcache的区别分析
1. Redis中,并不是所有的数据都一直存储在内存中的,这是和Memcached相比一个最大的区别. 2. Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构 ...
- macbook air电池保养方法
转自: http://bbs.feng.com/read-htm-tid-5819895.html http://www.zhihu.com/question/22628030
- Subarray Sum & Maximum Size Subarray Sum Equals K
Subarray Sum Given an integer array, find a subarray where the sum of numbers is zero. Your code sho ...
- eclipse debug source not fount
1.选择Edit Source Lookup Path 2.选择Add 3.选择Java Project 4.选择相应的Project 进行OK确定即可 注意:做完以上的操作,要清除一下原来的断点,然 ...