[英]ViewPager2 Stack PageTransform
我需要一些有关 ViewPager2 的PageTransformer的帮助。
我的ViewPager2中有 3 页。 每一页都应与下一页重叠。 此外,页面都应该牢牢地在中间,并且只能向侧面滑动。
例子:
第 1 页:蓝色
第 2 页:紫色
第 3 页:绿色
第 1 页与第 2 页重叠,第 2 页与第 3 页重叠。
我已经通过将 currentItem 设置为 2 来设置第 3 页可以首先看到
你可以看到绿色页面,如果你把它推到右边,你应该能够看到紫色页面(即使在推动时)如果你把紫色页面推到右边,你应该看到蓝色页面并且页面不应该移动(当然旁边除外)
与此类似的东西,但反过来重叠,因为我从第 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
}
}
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.