ViewPager 2 wrap contentの設定


Androidでviewpager 2+fragmentStateAdapterとして使用する場合、wrap contentを使用するとfragment部分が見えない場合があり、この画面を表示するために使用します.
ビューアapplyに対応する部分を入れます.
            registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback() {
                override fun onPageSelected(position: Int) {
                    super.onPageSelected(position)
                    // viewPager
                    val view = (binding.inspectVp2Inspect[0] as RecyclerView).layoutManager?.findViewByPosition(position)
                    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)
                        if (binding.inspectVp2Inspect.layoutParams.height != view.measuredHeight) {
                            binding.inspectVp2Inspect.layoutParams = (binding.inspectVp2Inspect.layoutParams).also { lp ->
                                lp.height = view.measuredHeight
                            }
                        }
                    }
                }
            })