本人最近在写一个需要用到磁贴移动的 WPF 应用,目前还在研究磁贴移动的原理,目前有了一个大概的思路,不确定方向是否正确。
首先我的第一个假设就是整个磁贴的 view 是有无数个小磁贴大小的透明容器组成。比如一个中型的磁贴就占据了 4 个容器。
那么,我如果从其他地方移动一个[中]大小的磁贴到[财经]磁贴的位置,就开始使用财经占据的 4 个容器来判断位置,如果在 1 容器位置(财经的左上角),这个磁贴会下移动一个格子,如果移动到 2 容器位置,[财经]磁贴将会往左(如果左边有空位置的话),如果没位置将下移等。
那目前的难点就在于:
1.如何判断会受到影响的磁贴,并且计算他们将会移动到什么地方;假设我磁贴是按顺序排放,并且磁贴大小不一,如果我把最后一个磁贴移动到第一个磁贴的位置,那么所有的磁贴都要重新计算一下位置,那么这个计算应该从什么地方开始?
2.磁贴的分组是如何进行的?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.