自己动手(一)──可拖动排序的 ListView(2)
来源:互联网 发布:如何评价英雄联盟知乎 编辑:程序博客网 时间:2024/05/24 05:52
接上篇博客,增加以下功能:
- 在 dragging 的过程中,如果手指移动到ListView上边缘(下边缘),让ListView自动向下滑动(向上滑动)
- 实时的 reorder Item view
- 让 dragging item view有一定的透明度
效果图
图片显示有问题请点击这里
自动滑动
private void scrollListView(float y) { //the distance you want to scroll ListView float dy = 0; if (y < scrollDownBoundary){ dy = (scrollDownBoundary-y) / 10; } else if (y > scrollUpBoundary){ dy = (scrollUpBoundary-y) / 10; } if (dy == 0){ return; } //scroll down if (dy > 0){ View firstVisibleItemView = getChildAt(0); setSelectionFromTop(getFirstVisiblePosition(), ((int) (firstVisibleItemView.getTop() + dy))); return; } //scroll up if (dy < 0){ View lastVisibleItemView = getChildAt(getLastVisiblePosition()-getFirstVisiblePosition()-1); setSelectionFromTop(getLastVisiblePosition(), ((int) (lastVisibleItemView.getTop() + dy))); return; } }
实时的 reorder Item view
//reorder ListView int currPosition = pointToPosition(((int) ev.getX()), ((int) ev.getY())); if (currPosition == AdapterView.INVALID_POSITION || currPosition == srcPosition){ return; } ((CommonDragSortAdapter) getAdapter()).setDragSrcPosition(currPosition); ((CommonDragSortAdapter) getAdapter()).moveItem(srcPosition, currPosition); srcPosition = currPosition;
让 dragging item view有一定的透明度
draggingItemViewBitmapPaint = new Paint();draggingItemViewBitmapPaint.setAlpha(0x88);
TODO
- 兼容 viewholder 模式
- 使reorder item view 有动画效果
完整工程
https://github.com/myronlee/DragSortListView
0 0
- 自己动手(一)──可拖动排序的 ListView(2)
- 自己动手(一)──可拖动排序的 ListView(1)
- 自己动手(一)──可拖动排序的 ListView(3)
- 可拖动排序的ListView
- DragSortListView:可拖动排序的listview
- DragSortListView:可拖动排序的listview
- 实现可拖动排序的ListView-DragListView
- DragSortListView:可拖动排序的listview
- 可拖动的listview
- 可拖动排序ListView和GridView
- android 新闻栏目管理(可拖动排序的gridview)
- ViewDragHelper详解(一)- 可拖动的view
- ViewDragHelper详解(一)- 可拖动的view
- ViewDragHelper详解(一)- 可拖动的view
- HTML 可拖动层的实现 -- vb2005xu自己动手系列
- 可拖动和删除动画的ListView
- 创建可拖动列的DataGrid(2)
- 创建可拖动列的DataGrid(2)
- android自定义View之(七)------自定义控件组合仿actionbar控件
- Hardwood Species——物种所占比例
- parent 父窗体
- Tcp可靠Udp不可靠原理
- android 电话来电、去电广播
- 自己动手(一)──可拖动排序的 ListView(2)
- oracle中的日志文件模式
- 我的简历
- Java异常学习笔记(四)
- POJ 2240 Arbitrage
- 有限状态机在游戏中应用
- ios指定目录不进行icloud检测
- 快排(C语言实现)
- AnyConnect ocserv搭建记录