ViewPager2畫廊效果

可以直接使用recycleview的adapter,注意itemview的佈局要使用match_parent

MarginPageTransformer的畫廊效果

        val params = viewpager2.layoutParams as ViewGroup.MarginLayoutParams
        params.leftMargin = resources.getDimension(R.dimen.dp_10).toInt()*2
        params.rightMargin = params.leftMargin
        val margin = 10.dpToPx(resources.displayMetrics)
        var compositePageTransformer = CompositePageTransformer()
        compositePageTransformer.addTransformer(MarginPageTransformer(margin))
        compositePageTransformer.addTransformer(ScaleInTransformer())
        rv_operation.setPageTransformer(compositePageTransformer)

官方dp和px轉換:Android Convert Dp to Pixel - dpToPx (Kotlin)

fun Int.dpToPx(displayMetrics: DisplayMetrics): Int = (this * displayMetrics.density).toInt()

fun Int.pxToDp(displayMetrics: DisplayMetrics): Int = (this / displayMetrics.density).toInt()

使用

10.dpToPx(context.resources.displayMetrics)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章