gpt4 book ai didi

java - ViewPager2 堆栈 PageTransform

转载 作者:行者123 更新时间:2023-12-01 17:29:46 27 4
gpt4 key购买 nike

我需要一些有关 ViewPager2 的 PageTransformer 的帮助。

我的 ViewPager2 中有 3 个页面。每一页都应该与下一页重叠。此外,页面应该全部牢牢地位于中间,并且只能滑动到一侧。



示例:
第1页:蓝色
第2页:紫色
第3页:绿色

第 1 页与第 2 页重叠,第 2 页与第 3 页重叠。

我通过将 currentItem 设置为 2 来设置可以首先看到第 3 页

您可以看到绿色页面,如果将其推到右侧,您应该能够看到紫色页面(即使在推时)如果您将紫色页面推到右侧,您应该会看到蓝色页面并且页面不应移动(当然除了侧面)

Something similar to this但重叠是相反的,因为我从第 3 页开始并且没有改变缩放比例。 (阿尔法变化完全没问题并且想要)

我希望有人能帮助我并提前致谢

最佳答案

经过几个小时的尝试,我得到了想要的结果

class StackTransformer : ViewPager2.PageTransformer {
override fun transformPage(view: View, position: Float) {
view.apply {
when {
position < -1 -> {
alpha = 0f
}
position <= 0 -> {
alpha = 1 - position
translationX = width * -position
ViewCompat.setTranslationZ(this, -1f)
}
position <= 1 -> {
alpha = 1f
translationX = 0f
ViewCompat.setTranslationZ(this, 0f)
}
else -> {
alpha = 0f
}
}
}
}
}

关于java - ViewPager2 堆栈 PageTransform,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61144287/

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