gpt4 book ai didi

android - Android 的 ViewPager 中的视差效果

转载 作者:可可西里 更新时间:2023-11-01 18:50:08 24 4
gpt4 key购买 nike

我试图在滑过我的 fragment 时模拟视差效果,我读过 beginFakeDrag 和 fakeDragBy,但老实说,我不知道这是否是解决我的问题的最佳方法。

有人用 ViewPager 做过类似的事情,或者对我应该如何处理这个有提示吗?

谢谢

最佳答案

在不使用自定义库的情况下执行此操作的一种简单方法是实现 ViewPager.PageTransformer

我创建的布局为其背景元素使用相同的 id。对于我的示例,所有背景图像都将使用 id background

<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/background"
android:src="@drawable/img12"
android:scaleType="fitXY"/>

然后,当我开始实现 ViewPager.PageTransformer 时,我可以像这样引用该图像:

public class Transformer implements ViewPager.PageTransformer{
@Override
public void transformPage(View page, float position) {
if(position >= -1 && position <= 1){
page.findViewById(R.id.background).setTranslationX(-position * page.getWidth() / 2);
} else {
page.setAlpha(1);
}
}
}

最后,我像这样将我的 ViewPager.PageTransformer 分配给了我的 ViewPager

ViewPager pager = (ViewPager) findViewById(R.id.pager);
pager.setPageTransformer(false, new Transformer());

关于android - Android 的 ViewPager 中的视差效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12424088/

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