Viewpager Page Scaling Issue With Page Transformer
Hi I'm developing an app where I'm using viewpager to make custom animation with viewpager transformer but the problem is that there is scaling issue with viewpager page transforme
Solution 1:
check below code
import android.view.View
import androidx.core.view.ViewCompat
import androidx.viewpager.widget.ViewPager
import kotlin.math.abs
class SliderTransformer() : ViewPager.PageTransformer {
companion object {
private const val TAG = "SliderTransformer"
private const val DEFAULT_TRANSLATION_X = .50f
private const val DEFAULT_TRANSLATION_FACTOR = 1.2f
private const val SCALE_FACTOR = .14f
private const val DEFAULT_SCALE = 1f
private const val ALPHA_FACTOR = .3f
private const val DEFAULT_ALPHA = 1f
}
override fun transformPage(page: View, position: Float) {
page.apply {
ViewCompat.setElevation(page, -abs(position))
val scaleFactor = -SCALE_FACTOR * position + DEFAULT_SCALE
val alphaFactor = -ALPHA_FACTOR * position + DEFAULT_ALPHA
when {
position <= 0f -> {
translationX = DEFAULT_TRANSLATION_X
scaleX = DEFAULT_SCALE
scaleY = DEFAULT_SCALE
alpha = DEFAULT_ALPHA + position
}
position >0 -> {
scaleX = scaleFactor
scaleY = scaleFactor
translationX = -(width / DEFAULT_TRANSLATION_FACTOR) * position
alpha = alphaFactor
}
else -> {
translationX = DEFAULT_TRANSLATION_X
scaleX = DEFAULT_SCALE
scaleY = DEFAULT_SCALE
alpha = DEFAULT_ALPHA
}
}
}
}
}
Post a Comment for "Viewpager Page Scaling Issue With Page Transformer"