android GridView 拖拽Item及滚屏实现
来源:互联网 发布:jsaas 源码 编辑:程序博客网 时间:2024/06/11 05:56
针对以前修改的,进行了再修改。这次就能很好的实现了长按,然后向下拖动,背景的Item也向上的效果。
注要对如下函数进行了修改:
private void onDrag(int x, int y){if (dragImageView != null){windowParams.alpha = 0.6f;windowParams.x = x - dragPointX + dragOffsetX;windowParams.y = y - dragPointY + dragOffsetY;// L.l("=================windowParams.y=====000========"+windowParams.y);windowManager.updateViewLayout(dragImageView, windowParams);}int tempScrollX = x - dragPointX + dragOffsetX;int tempScrollY = y - dragPointY + dragOffsetY;int rangeY = itemHeight;int maxHeight = getHeight() - rangeY;int position = pointToPosition(x, y);int gridViewCount = this.getCount();int allContainCount = gridViewCount;int leftCount = gridViewCount % numColumns;if (leftCount != 0){allContainCount += (numColumns - leftCount);}int upMaxPosition = allContainCount - numColumns;L.l("==========position:" + position + " max:" + upMaxPosition+ " count:" + this.getChildCount() + " rangy:" + rangeY);// 如果position大于最大的itemif (position >= upMaxPosition || position < numColumns){L.l("=====last line=======postion:" + position);setEnabled(false);}else{L.l("=====good========tempScrollY:" + tempScrollY + " rangeY:"+ rangeY + " maxHeight:" + maxHeight);if (tempScrollY < rangeY)// 假如漂浮的view已经进入第一行,则把当前的gridView滑出一个{L.l("=====gridView scroll down=======:" + tempScrollY);setEnabled(true);int position2 = getFirstVisiblePosition();smoothScrollToPosition(position2 - 1);// scrollTo(0, -itemHeight);}elseif (tempScrollY > maxHeight){L.l("=====gridView scroll up=======:" + tempScrollY);setEnabled(true);int position1 = getLastVisiblePosition();smoothScrollToPosition(position1 + 1);// scrollTo(0, itemHeight);}}}自此完全搞定Item拖拽。下载代码链接:http://download.csdn.net/detail/synwith/4082316
- android GridView 拖拽Item及滚屏实现
- Android定点刷新Listview(Gridview)Item!实现指定Item刷新
- Android GridView 拖动item
- android GridView单个item动画的实现以及样例
- Android 可拖拽的GridView效果实现, 长按可拖拽item
- Android GridView中的item实现长宽一样
- Android:GridView中实现点击Item变色,再点击还原。
- android实现ListView或GridView中item的倒数功能
- Android 实现item可左右滑动移除的GridView
- 实现可拖拽item的GridView
- item可拖拽的GridView实现
- GridView长按拖拽Item效果(android)
- GridView长按拖拽Item效果(android)
- GridView长按拖拽Item效果(android) !!!
- android gridView item间隔问题
- Android GridView Item 高度设置
- Android GridView自适应Item高度
- Android gridview keep item selected
- javascript学习笔记
- Lambda表达式
- opencv 图片旋转90度
- 解决No tests found in JUnit 4测试类
- (转)memcached简介与开发应用
- android GridView 拖拽Item及滚屏实现
- PWM实现ADC和DAC
- 类QQ 的程序界面
- 【转】字典树[Trie]
- mysql 对同一个表select 和update
- Hadoop——你不得不了解的大数据工具
- [EGORefreshTableHeaderView]手动启动下拉更新的方法
- 温故而知新-归并排序(JAVA)
- .net服务器上,一个虚拟目录放多个网站的方法