Как отключить вертикальную прокрутку в textView по ссылке после нажатия - PullRequest
0 голосов
/ 21 октября 2019

У меня есть класс, который отключает прокрутку в текстовом представлении со ссылкой. Но это работает только для горизонтальной прокрутки. Есть ли способ сделать это для вертикальной?

class LinkifiedTextView(context: Context, attrs: AttributeSet) : TextView(context, attrs) {

    override fun onTouchEvent(event: MotionEvent): Boolean {
        (text as? Spannable)?.let { buffer ->
            val action = event.action

            if (action == MotionEvent.ACTION_UP || action == MotionEvent.ACTION_DOWN) {
                var x = event.x.toInt()
                var y = event.y.toInt()

                x -= totalPaddingLeft
                y -= totalPaddingTop

                x += scrollX
                y += scrollY

                val horizontalOffset = layout.getOffsetForHorizontal(
                    layout.getLineForVertical(y), x.toFloat()
                )

                val link = buffer.getSpans(
                    horizontalOffset, horizontalOffset, ClickableSpan::class.java
                )

                if (link.isNotEmpty()) {
                    when (action) {
                        MotionEvent.ACTION_UP -> link.first().onClick(this)
                        MotionEvent.ACTION_DOWN ->
                            Selection.setSelection(
                                buffer,
                                buffer.getSpanStart(link.first()),
                                buffer.getSpanEnd(link.first())
                            )
                    }

                    return true
                }
            }
        }

        return false
    }
}

Как отключить горизонтальную и вертикальную прокрутку одновременно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...