gpt4 book ai didi

带有 RecylcerView 的 Android Viewpager2,在应用 PageTransformer 时启用项目动画器

转载 作者:行者123 更新时间:2023-12-05 06:04:17 25 4
gpt4 key购买 nike

我正在使用带有回收器 View 的新 Viewpager2 来显示页面列表。要创建类似 View 的堆栈,我正在使用 ViewPager2.PageTransformer

我注意到根据 ViewPager2.setPageTransformer() 的文档,它统计如下

Note: setting a ViewPager2.PageTransformer disables data-set change animations to prevent conflicts between the two animation systems. Setting a null transformer will restore data-set change animations.

所以在添加页面转换器后,我的页面删除和页面添加动画不再有效

有什么办法可以解决这个问题

下面是实现的代码

页面转换器


public class VerticalStackViewPageTransformer implements ViewPager2.PageTransformer {
int pageTranslationY ;

public VerticalStackViewPageTransformer(int pageTranslationY) {
this.pageTranslationY = pageTranslationY;
}

@Override
public void transformPage(@NonNull View page, float position) {
page.setTranslationY(-pageTranslationY * position);
page.setScaleX(1 - (0.15f * abs(position)));
page.setAlpha(0.65f + (1 - abs(position)));
}
}

在 Activity 中的使用


listViewPager.setAdapter(adapter);
listViewPager.setOffscreenPageLimit(2);
listViewPager.setPageTransformer(new VerticalStackViewPageTransformer(ContextHelper.dpToPixel(30,context)));

最佳答案

似乎答案在这里:https://stackoverflow.com/a/59235979/2118862

由于禁用了内部动画,您需要手动滚动。但请记住 - 删除项目时,先滚动,等到它结束 (onAnimationEnd),然后在 ViewPager2

下重新加载模型

关于带有 RecylcerView 的 Android Viewpager2,在应用 PageTransformer 时启用项目动画器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66362654/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com