在ListView和GridView之间切换内容视图时动画转换项目

时间:2014-02-04 11:37:51

标签: android listview gridview android-animation

我正在开发一个功能,可以在列表布局和显示数据的网格布局之间切换。与Google Drive应用程序在Android和iOS平台上都有类似的东西。我特别喜欢在iOS版本的应用程序中进行过渡的动画,其中项目被移动到新的位置并调整大小而不是仅仅出现在那里。

我想到的一个解决方案是拥有一个具有ListView和GridView功能的自定义ViewGroup,并根据将从客户端代码设置的标志使用一个或另一个。这样,当我在切换到新布局后即将绘制新项目时,我会知道一个布局中的项目位置。

我想知道的一件事是,如果使用来自KitKat的新转换框架的功能没有更直接的解决方案,因为基本上我可以在片段中重复使用加载的数据,只需在ListView和GridView之间切换。但我所知道的不会立即导入过渡动画。

1 个答案:

答案 0 :(得分:1)

首先,GridLayoutGridView是两回事。后者是你感兴趣的。其次,我认为Drive应用程序只使用GridView而不是List + Grid的组合。

在GridView中,您可以将列数设置为1,然后它就像ListView一样。

为重新安排制作动画:

  1. 你需要存储可见孩子的坐标 更新前的GridView发生。

  2. 发布更新后,将其移至旧坐标。

  3. 然后将其位置转换为(0,0)。在这里,0,0是他们的 相对于自我立场,这意味着他们的实际位置。