Я смог получить ответ с помощью решения по этой ссылке https://stackoverflow.com/a/34310846/6840443
Так что он сделал то, что он в основном сделал пользовательский NestedScrollView, переопределил метод onInterceptTouchEvent
и обработалдействие касания относительно того, как оно должно использоваться, поэтому, хотя NestedScrollView по-прежнему обрабатывает вертикальную прокрутку, горизонтальная прокрутка не обрабатывается им, и впоследствии она распространяется на дочерний элемент представления, который, как оказалось, уже является webView, который уже обрабатываетэтот вид свитка.
Вот код для него: -
package com.smartprix.main
import android.content.Context
import android.util.AttributeSet
import android.view.MotionEvent
import android.view.ViewConfiguration
import androidx.core.widget.NestedScrollView
class SmartNestedScrollView : NestedScrollView {
private var slop: Int = 0
private val mInitialMotionX: Float = 0.toFloat()
private val mInitialMotionY: Float = 0.toFloat()
private var xDistance: Float = 0.toFloat()
private var yDistance: Float = 0.toFloat()
private var lastX: Float = 0.toFloat()
private var lastY: Float = 0.toFloat()
constructor(context: Context) : super(context) {
init(context)
}
private fun init(context: Context) {
val config = ViewConfiguration.get(context)
slop = config.scaledEdgeSlop
}
constructor(context: Context, attrs: AttributeSet) : super(context, attrs) {
init(context)
}
constructor(context: Context, attrs: AttributeSet, defStyleAttr: Int) : super(context, attrs, defStyleAttr) {
init(context)
}
override fun onInterceptTouchEvent(ev: MotionEvent): Boolean {
val x = ev.x
val y = ev.y
when (ev.action) {
MotionEvent.ACTION_DOWN -> {
yDistance = 0f
xDistance = yDistance
lastX = ev.x
lastY = ev.y
// This is very important line that fixes
computeScroll()
}
MotionEvent.ACTION_MOVE -> {
val curX = ev.x
val curY = ev.y
xDistance += Math.abs(curX - lastX)
yDistance += Math.abs(curY - lastY)
lastX = curX
lastY = curY
if (xDistance > yDistance) {
return false
}
}
}
return super.onInterceptTouchEvent(ev)
}
}```