在recyclerview中动画化元素的移动并向上滚动屏幕

时间:2019-05-29 10:24:20

标签: android animation android-recyclerview

我有一个自定义模型的回收视图,该模型具有以下行为-单击每个行项目时,该英雄是最受欢迎的英雄,并显示在列表的位置0,包括显示在折叠的工具栏上。

我希望会发生以下情况-

1)当单击新英雄时,它将使动画效果一直到顶部。

2)在进行动画制作时,屏幕将一直跟踪动画,包括一直到折叠的工具栏,直到显示新的工具栏标题和图像。

3)这不是100%与我发布的问题有关,但我会尽量避免发表新文章-在按下新英雄并将图像加载到折叠的工具栏时,会有一点延迟直到图像完全加载才可见。我应该怎么做才能拥有更好的用户体验?

这是我管理点击内容的方法-


private void changeFavoriteHero(int position, boolean cameFromLocalStorage) {
        Hero currentHeroChosen = heroesArrayList.get(position);
        Picasso.get().load(currentHeroChosen.image)
                .fit()
                .centerCrop()
                .placeholder(R.drawable.ic_launcher_background)
                .error(R.drawable.ic_launcher_foreground)
                .into(toolbarImageView);
        collapsingToolbarLayout.setTitle(currentHeroChosen.title);
        if (!cameFromLocalStorage) {
            currentHeroChosen.setFavorite(!currentHeroChosen.isFavorite());
        } else {
            currentHeroChosen.setFavorite(true);
        }
        for (int i = 0; i < heroesArrayList.size(); i++) {
            if (i == position){
                Collections.swap(heroesArrayList, i, 0);
                // TODO - animate the movement of the layout
                continue;
            }
            heroesArrayList.get(i).setFavorite(false);
        }
        saveToLocal(heroesArrayList);
        heroesAdapter.notifyDataSetChanged();
    }

0 个答案:

没有答案