可以直接使用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)