我有一个自定义模型的回收视图,该模型具有以下行为-单击每个行项目时,该英雄是最受欢迎的英雄,并显示在列表的位置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();
}