为RecyclerView

时间:2016-09-15 21:24:16

标签: android android-recyclerview android-animation viewanimator

我正在尝试使用RecyclerView上的动画。这是我想要实现的用户流程

  • 我有一个水平可滚动的RecyclerView。当用户选择一个项目时,除了选择的项目之外,我希望所有其他项目都消失。
  • 然后我想让所选项目滑到第一个位置
  • 我想再次在回收站视图中显示其余项目。

E.g。见下文

Sample Google Chrome behavior

非常感谢任何帮助或指示。感谢

1 个答案:

答案 0 :(得分:0)

我不知道如何水平地做,但我知道如何获得动画。您必须了解如何根据您的要求对其进行自定义:

this answer将拖动和滑动行为添加到RecyclerView。我们将它的动画用于您的目的。我们将执行“拖动”(将元素移动到第一个位置,而不是通过拖动而是自动)。为此,我们使用教程中提供的方法“swap”。然后你应该拥有它。

1 - 选择项目时,将所有其他项目设置为INVISIBLE(NOT GONE !!!)
2 - 使用方法交换将动画移动到第一个位置:

public void swap(int from, int to){

            if(to > from){
                for(int i = to; i > from; i--){
                    Collections.swap(mItemList, i, i - 1);
                    notifyItemMoved(i, i - 1);
                }
            }else{
                for(int i = to; i < from; i++){
                    Collections.swap(mItemList, i, i + 1);
                    notifyItemMoved(i, i + 1);
                }
            }
        }

3 - 再次将其他项目设置为VISIBLE。