【问题标题】:dynamic ViewPager2 height calculation for each item每个项目的动态ViewPager2高度计算
【发布时间】:2020-09-07 13:30:08
【问题描述】:

我使用ViewPager2 来显示 3 个适配器项。每个项都有不同的布局。所以viwepager2的高度应该在更改viewpager2的标签时调整大小。

请为Viewpager2 提出解决方案。

【问题讨论】:

    标签: android android-viewpager2


    【解决方案1】:

    我实现了类似的目标

        private fun updatePagerHeightForChild(view: View, pager: ViewPager2) {
            view.post {
                val wMeasureSpec = View.MeasureSpec.makeMeasureSpec(view.width, View.MeasureSpec.EXACTLY)
                val hMeasureSpec = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED)
                view.measure(wMeasureSpec, hMeasureSpec)
                    pager.layoutParams = (pager.layoutParams).also { lp -> lp.height = view.measuredHeight }
                    pager.invalidate()
                }
        }
    

    使用下面的sn-p获取当前页面view

        viewPager2.setPageTransformer { page, position ->
            updatePagerHeightForChild(page, viewPager2)
        }
    

    【讨论】:

    • 感谢@Blackbelt 的解决方案。它对我有用..让我在你的答案中编辑一些东西。
    • 感谢这个解决方案 .. 为每一个小功能调整 apis .. 如果你研究一下,android 框架有点坏了
    猜你喜欢
    • 1970-01-01
    • 2021-12-09
    • 2020-02-17
    • 1970-01-01
    • 2020-01-01
    • 2011-03-12
    • 1970-01-01
    • 1970-01-01
    • 2011-11-02
    相关资源
    最近更新 更多