У меня есть класс, который отключает прокрутку в текстовом представлении со ссылкой. Но это работает только для горизонтальной прокрутки. Есть ли способ сделать это для вертикальной?
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
}
}
Как отключить горизонтальную и вертикальную прокрутку одновременно?