Это рабочее решение, которое мне удалось найти.
onCreate
класс:
val displayMetrics = baseContext.resources.displayMetrics
//setting the "zoomed in" effect on the image
image.layoutParams.width = displayMetrics.widthPixels + displayMetrics.widthPixels / 2
val originalWidth = image.layoutParams.width
scroll_view.setOnScrollChangeListener { _: NestedScrollView?, _: Int, y: Int, _: Int, _: Int ->
//adjust "if" check and formula as you wish
if (y < 200) {
image.layoutParams.width = (originalWidth - y*1.5).toInt()
image.requestLayout()
}
}
Некоторые пояснения.Я изменяю ширину изображения в зависимости от размера экрана, чтобы изображение сначала «увеличивалось», а затем уменьшалось до его первоначальной формы при прокрутке пользователя вниз.
Также убедитесь, чтоу вас есть recyclerView.setNestedScrollingEnabled(false);
в RecyclerView, который вы хотите плавно прокручивать.
Результат, если следующее: