ViewPager与ViewPager2实现堆叠效果

本文探讨了如何使用ViewPager2和ViewPager实现层叠页面效果,详细解析了代码实现,并指出了ViewPager2中reverseDrawingOrder参数的缺失,通过控制translationZ来达到预期的层级效果。同时分享了实现过程中遇到的问题和解决方案。

先上图看效果,GIF稍微有点糊,凑合着看!上面是ViewPager2实现的,下面是ViewPager实现的~

出发点

最近公司想要实现这样一种效果,实现并不难,本着尝试新技术的想法,打算用ViewPager2实现这种效果。中间也或多或少遇见了小麻烦,发出来与大家一起讨论下~

需求实现

方式一、ViewPager实现:

代码如下:

        viewpager.offscreenPageLimit = 2
        val mScaleOffset = 200f
        val mTranslationOffset = 100f
        viewpager.setPageTransformer(
            true
        ) { page, position ->
            if (position <= 0F) {
                page.translationX = 0F
            } else {
                val pageWidth: Int = page.width
                val transX = -pageWidth * position + mTranslationOffset * position
                page.translationX = transX
                // 缩放比例
                val sc
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值