我正在开发一个Android应用程序,其中我的顶部有一个ViewPager
,ViewPager
下方有一个水平RecyclerView
。
当我滚动RecyclerView
时,我正在使用viewPager.setCurrentItem(position)
更新ViewPager
项目。以便ViewPager
将滑动到该位置。
它工作正常。但是ViewPager
不会用动画滑动。它只会移动到当前位置。
我想在滚动RecyclerView
滑动ViewPager
时应用一些动画。如何实现该动画行为?
尝试使用
viewPager.setCurrentItem(position, true)
根据ViewPager的文档,它允许平稳地移动到该位置。
我想你想在动画中使用淡入淡出效果。您应该在文件中导入此类...
public class FadePageTransformer implements ViewPager.PageTransformer {
@Override
public void transformPage(@NonNull View page, float position) {
page.setTranslationX(page.getWidth() * -position);
if (position <= -1.0F || position >= 1.0F) {
page.setAlpha(0.0F);
} else if (position == 0.0F) {
page.setAlpha(1.0F);
} else {
// position is between -1.0F & 0.0F OR 0.0F & 1.0F
page.setAlpha(1.0F - Math.abs(position));
}
}
}
在包含该类之后,您需要像这样设置视图寻呼机......
viewPager.setPageTransformer(false,new FadePageTransformer());
它将帮助您在视图寻呼器中实现动画效果