android ListView和GridView拖拽移位具体实现及拓展
来源:互联网 发布:mmd镜头数据下载 编辑:程序博客网 时间:2024/05/16 06:15
/*** * touch事件拦截 */@Overridepublic boolean onInterceptTouchEvent(MotionEvent ev) {// 按下if (ev.getAction() == MotionEvent.ACTION_DOWN) {int x = (int) ev.getX();// 获取相对与ListView的x坐标int y = (int) ev.getY();// 获取相应与ListView的y坐标dragSrcPosition = dragPosition = pointToPosition(x, y);// 无效不进行处理if (dragPosition == AdapterView.INVALID_POSITION) {return super.onInterceptTouchEvent(ev);}// 获取当前位置的视图(可见状态)ViewGroup itemView = (ViewGroup) getChildAt(dragPosition- getFirstVisiblePosition());// 获取到的dragPoint其实就是在你点击指定item项中的高度.dragPoint = y - itemView.getTop();// 这个值是固定的:其实就是ListView这个控件与屏幕最顶部的距离(一般为标题栏+状态栏).dragOffset = (int) (ev.getRawY() - y);// 获取可拖拽的图标View dragger = itemView.findViewById(R.id.iv_drag_list_item_2);// x > dragger.getLeft() - 20这句话为了更好的触摸(-20可以省略)if (dragger != null && x > dragger.getLeft() - 20) {upScrollBounce = getHeight() / 3;// 取得向上滚动的边际,大概为该控件的1/3downScrollBounce = getHeight() * 2 / 3;// 取得向下滚动的边际,大概为该控件的2/3itemView.setDrawingCacheEnabled(true);// 开启cache.Bitmap bm = Bitmap.createBitmap(itemView.getDrawingCache());// 根据cache创建一个新的bitmap对象.startDrag(bm, y);// 初始化影像}// return false;}return super.onInterceptTouchEvent(ev);}<pre na…………………………………………………………………………
原作者:http://www.verydemo.com/demo_c131_i55830.html
0 0
- android ListView和GridView拖拽移位具体实现及拓展
- android ListView和GridView拖拽移位具体实现及拓展
- android ListView和GridView拖拽移位具体实现及拓展
- android ListView和GridView拖拽移位具体实现及拓展
- android ListView和GridView拖拽移位具体实现及拓展
- android ListView和GridView拖拽移位具体实现及拓展
- android ListView和GridView拖拽移位具体实现及拓展
- android ListView和GridView拖拽移位具体实现及拓展
- android ListView和GridView拖拽移位具体实现及拓展
- android ListView和GridView拖拽移位具体实现及拓展
- android ListView和GridView拖拽移位具体实现及拓展
- android ListView和GridView拖拽移位具体实现及拓展
- android ListView和GridView拖拽移位具体实现及拓展
- android ListView和GridView拖拽移位实现代码
- android ListView和GridView拖拽移位实现代码
- android ListView和GridView拖拽移位实现代码
- android ListView的上部下拉刷新下部点击加载更多具体实现及拓展
- android ListView的上部下拉刷新下部点击加载更多具体实现及拓展
- UIBackgroundTaskIdentifier bgTask; 把即将退出到后台的程序恢复
- dataguard 日志传输服务
- PHY的MDIO/MDC简介
- Unity的Coroutine
- 浅析设计模式之事件Event相关(未完)
- android ListView和GridView拖拽移位具体实现及拓展
- litespeed安装pureftpd成功后UID,GID而引起530错误问题
- Scripts:数据库巡检脚本for 9i dba_snapshot_database_9i.sql
- 让DIV居中,兼容不同分辨率
- Code Sign error: Provisioning profile XXXX can't be found
- 懵懂的年华里,谁许了谁地老天荒
- ext4分区开机自动挂载,该怎么处理
- 看山姆大叔如此偷窥世界
- 解决Everything在windows8下使用失效无反应的问题