Как включить сенсорные и стандартные клики в Webview в Android? - PullRequest
0 голосов
/ 08 января 2020

Мне нужно реализовать функцию перетаскивания веб-просмотра на весь экран, и он работает, но проблема в том, что щелчок веб-просмотра не работает, и если я закомментирую, щелчки сенсорного прослушивателя работают нормально, ниже приведен код:

drawerLayoutBinding.activityMainLayout.webView.setOnTouchListener(DragTouchListner(drawerLayoutBinding.activityMainLayout.mainContainerLayout))
 drawerLayoutBinding.activityMainLayout.webView.loadDataWithBaseURL(null, mainNodeModel.html_data!!, "text/html", "UTF-8", null)
drawerLayoutBinding.activityMainLayout.webView?.settings?.javaScriptEnabled = true

DragTouchListner. java

class DragTouchListner(private val viewG: ViewGroup) : View.OnTouchListener {

private var _xDelta: Int = 0
private var _yDelta: Int = 0

override fun onTouch(view: View, event: MotionEvent): Boolean {
    val X = event.rawX.toInt()
    val Y = event.rawY.toInt()
    when (event.action and MotionEvent.ACTION_MASK) {
        MotionEvent.ACTION_DOWN -> {
            val lParams = view.layoutParams as RelativeLayout.LayoutParams
            _xDelta = X - lParams.leftMargin
            _yDelta = Y - lParams.topMargin
        }
        MotionEvent.ACTION_UP -> {
        }
        MotionEvent.ACTION_POINTER_DOWN -> {
        }
        MotionEvent.ACTION_POINTER_UP -> {
        }
        MotionEvent.ACTION_MOVE -> {
            val layoutParams = view
                    .layoutParams as RelativeLayout.LayoutParams
            layoutParams.leftMargin = X - _xDelta
            layoutParams.topMargin = Y - _yDelta
            layoutParams.rightMargin = -250
            layoutParams.bottomMargin = -250
            view.layoutParams = layoutParams
        }
    }
    viewG.invalidate()
    return true
}
...