android - 带有 RecylcerView 的 Android Viewpager2,在应用 PageTransformer 时启用项目动画器
问题描述
我正在使用带有回收站视图的新 Viewpager2 来显示页面列表。要创建一个类似视图的堆栈,我正在使用ViewPager2.PageTransformer
我注意到,根据它的文档,ViewPager2.setPageTransformer()
它统计了以下内容
注意:设置 ViewPager2.PageTransformer 会禁用数据集更改动画,以防止两个动画系统之间发生冲突。设置空转换器将恢复数据集更改动画。
因此,在添加页面转换器后,用于页面删除和页面添加的动画不再起作用
有什么办法可以克服这个
下面是实现的代码
页面转换器
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)));
}
}
活动使用情况
listViewPager.setAdapter(adapter);
listViewPager.setOffscreenPageLimit(2);
listViewPager.setPageTransformer(new VerticalStackViewPageTransformer(ContextHelper.dpToPixel(30,context)));
解决方案
推荐阅读
- android - 在我的 gradle 中使用正确的材料设计库是什么,我尝试了不同的解决方案,它没有成功构建
- arrays - MATLAB:将字符数组输出格式化回声明的变量
- javascript - AngularJS - 如何根据解析器的结果中止 $stateProvider 构造?
- c++ - 在内部while循环中使用EOF时结束的while循环
- windows - 仅解压缩以某个单词开头的文件
- javascript - 无法更改 DataTable jQuery 中选定行的背景颜色
- java - 来自 C++ 的 java 中的 ParseFrom 消息失败
- java - 如何使用 Android 将数据推送到存储在 Firebase 中的数组中?
- python - 如何修复下面python代码中变量的多值赋值?
- powerbi - powerbi directquery distinct count group by issue