`
lifeijiyuan
  • 浏览: 40154 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

换位实例代码

 
阅读更多

            mTargetCell = findNearestArea((int) mDragViewVisualCenter[0],
                    (int) mDragViewVisualCenter[1], 1, 1, mDragTargetLayout, mTargetCell);
           
            Log.e("mylog", " mTargetCell="+mTargetCell[0]+","+mTargetCell[1]+" item.cellX="+item.cellX+" isDock="+isDock+" dockIconSize="+dockIconSize);
           
            if(isDock && dockIconSize < 5){
                if(item.container != -101){
                    item.container = -101;
                    item.cellX = mTargetCell[0];
                    item.cellY = mTargetCell[1];
                    item.screen = mTargetCell[0];
                    for(int i=0; i < dockIconSize ; i++){
                        View aView = layout.getChildrenLayout().getChildAt(i);
                        ItemInfo info2 = (ItemInfo) aView.getTag();
                        if(info2.cellX >= mTargetCell[0]){
                            Log.w("mylog","2  = i="+i);
                            int m = info2.cellX +1;
                            if(m > dockIconSize){
                            m = dockIconSize;
                            }
                            info2.cellX = m;
                            info2.screen = m;
                    }
                        layout.animateChildToPosition(aView, info2.cellX, info2.cellY, 0, 0,mRealTimePosition);
                    }
            
                }
               
                if(item.container == -101){
                    Log.e("mylog", "onDropover  ///size="+ dockIconSize+" mTargetCell="+mTargetCell[0]+" item.cellX="+item.cellX);
                        for(int i=0; i < dockIconSize ; i++){
                            View aView = layout.getChildrenLayout().getChildAt(i);
                            ItemInfo info2 = (ItemInfo) aView.getTag();
                            Log.i("onDrop", "=====i="+i+" info="+info2+", x="+info2.cellX+","+info2.cellY+",screen ="+info2.screen+","+info2.spanX+","+info2.spanY);
                            if(item.cellX < mTargetCell[0]){
                                if (info2.cellX == mTargetCell[0] ) {
                                    Log.w("mylog","1  = i="+i);
                                    int m = info2.cellX - 1;
                                    if(m < 0){
                                        m = 0;
                                    }
                                    info2.cellX = m;
                                    info2.screen = m;
                                }
                            }
                            if(item.cellX > mTargetCell[0]){
                                if (info2.cellX == mTargetCell[0]) {
                                    Log.w("mylog","2  = i="+i);
                                    int m = info2.cellX + 1;
                                    if(m > dockIconSize){
                                        m = dockIconSize;
                                    }
                                    info2.cellX = m;
                                    info2.screen = m;
                                }
                            }
                            Log.i("onDrop", "i="+i+" info="+info2+", x="+info2.cellX+","+info2.cellY+",screen ="+info2.screen+","+info2.spanX+","+info2.spanY);
                            layout.animateChildToPosition(aView, info2.cellX, info2.cellY, 0, 0,mRealTimePosition);
//                            LauncherModel.updateItemInDatabase(mLauncher, info2);
                            invalidate();
                        }
                        item.cellX = mTargetCell[0];
                        item.screen = mTargetCell[0];
//                        layout.setGridSize(dockIconSize+1, 1);
                }
分享到:
评论

相关推荐

    动物换位游戏(代码+实验报告)

    GameBoard类中,可以使用二维数组或者ArrayList等数据结构来表示游戏板,每个元素对应一个Animal实例。每当玩家发起交换请求时,GameBoard类会调用Animal类的方法进行判断和操作。 此外,实验报告通常会包含以下...

    python 换位密码算法的实例详解

    ### Python 换位密码算法的实例详解 #### 一、换位密码基本概念与原理 换位密码(Transposition Cipher)是一种简单的古典密码技术,它通过对明文中的字符顺序进行重新排列来达到加密的目的。在换位密码中,原始...

    青蛙换位问题Java实现

    类的实例可以代表一个问题实例,而解决方法可以作为类的一个成员函数。 在实际编程时,需要注意边界条件的处理,如空数组、只有一个元素的情况等。同时,为了解决大规模问题,还可以考虑使用并行计算或动态规划等更...

    Java课程设计介绍及代码

    提供的压缩包中可能包含了更多电子书下载链接和书籍说明,这些资源可能涵盖了上述知识点的详细讲解和实例代码,对于深入学习和完成Java课程设计非常有帮助。通过学习和实践,你可以逐步提升自己的Java编程水平,为...

    Word常用查找与替换实例及方法

    实例47:移形换位 31 实例48:替换这样的名字 32 实例49:使不连续的数字做到连续排列 33 实例50:查找颜色(红色)的内容,并在原来的字符的基础上添加序号 34 实例51:此类数据的替换 34 实例52:批量删除特定的字符...

    数据结构(C语言)代码实例19

    在这个名为“数据结构(C语言)代码实例19”的压缩包中,包含了一些与数据结构相关的代码示例和资料,主要涉及建树、链表操作以及递归算法等主题。 首先,"平方根.txt"可能包含了一个计算平方根的算法,这通常涉及...

    recyclerView的VR效果+折叠+拖动换位

    然后,实例化ItemTouchHelper,并将其绑定到RecyclerView上,这样就可以启用拖放功能。 在实际项目中,为了确保用户体验流畅,还需要注意优化拖动过程中的动画效果,以及在数据模型中同步更新元素的位置。同时,...

    C语言 奇偶排序算法详解及实例代码

    下面我们将详细探讨这种排序方法的原理、特点以及C语言实现的实例代码。 奇偶排序的核心在于通过比较和交换相邻的奇偶位置元素来逐步调整序列。在每一轮排序中,首先处理奇数位置的元素,然后处理偶数位置的元素,...

    java课程设计 附源代码 和报告书,修改下名字即可

    这个类可以包含一个`ArrayList`或`LinkedList`等数据结构,用于存储动物实例。我们还可以提供添加、删除、查找和交换动物位置等操作。例如,`addAnimal(Animal animal)`方法用于添加动物,`removeAnimal(int index)`...

    史上最全经典数据结构算法c语言实现代码合集

    换位递归.txt 排序法.txt 推箱子.txt 数字移动.txt 数据结构.txt 数据结构2.txt 数据结构3.txt 数组完全单元.txt 数组操作.txt 数组递归退出.txt 数组递归退出2.txt 文件加密.txt 文件复制.txt 文件...

    经典数据结构算法c语言实现代码(大全)

    换位递归.txt 排序法.txt 推箱子.txt 数字移动.txt 数据结构.txt 数据结构2.txt 数据结构3.txt 数组完全单元.txt 数组操作.txt 数组递归退出.txt 数组递归退出2.txt 文件加密.txt 文件复制.txt 文件...

    置换密码的php代码实现

    通过php语言实现置换密码...实例化ShiftCipher类时,构造方法的参数为$data,$keynum,$mode,其中$data为需要加密或者解密的数据,$keynum为加密的密码,$mode是选择加密/解密模式,加密模式为true,解密模式为false。

    java 实现最小二叉树堆排序的实例

    下面是 Java 实现最小二叉树堆排序的实例代码: ```java private int[] getMinBinaryHeap(int[] array){ int N = array.length; int minBinaryHeap[] = new int[N]; int root;//根的值 int heapSize = 0;//记录...

    网络信息安全加密算法.doc

    其中,恺撒密码(Caesar Cipher)是一个简单的实例,它通过将每个字母向后移动固定数量的位置来实现加密。例如,如果明文的字母是 'H',而密钥是 4,那么 'H' 将被替换为 'L',因为 'L' 是在 'H' 之后的第四个字母。...

    数据结构及算法C语言实现代码集[推荐下载]

    换位递归.c 汉诺塔2.c 汉诺塔.c 诺汉塔画图版.c 非递归.c ./硬币情况&#58; for循环的.c 硬币分法.c ./逆阵&#58; 简单逆阵.c 逆矩阵.c 逆阵.c ./问题算法&#58; N皇后问题回溯算法.c 万年历 动态计算网络最长最短...

    Python实现冒泡排序的简单应用示例

    本文实例讲述了Python实现冒泡排序的简单应用。分享给大家供大家参考,具体如下: 冒泡排序的主要思想是换位,例如在满足某种条件下将i和j调换: if i&gt;j: p = i i = j j = p 举出例子如下: 随意输入两个数字,...

    java虚拟机运行时数据区分析

    2. 堆(Heap):用于存储对象实例和数组的区域。 3. 栈(Stack):用于存储方法调用过程中的局部变量和操作数的区域。 4. 程序计数器(Program Counter Register):用于存储当前执行的字节码索引的区域。 5. 本地...

Global site tag (gtag.js) - Google Analytics