Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import android.text.Layout;
- import android.text.Selection;
- import android.text.Spannable;
- import android.text.method.LinkMovementMethod;
- import android.text.style.ClickableSpan;
- import android.view.MotionEvent;
- import android.widget.TextView;
- /**
- * Created on 2/17/2017
- *
- * @author Pkmmte Xeleon
- */
- public class PkMovementMethod extends LinkMovementMethod {
- @Override
- public boolean onTouchEvent(TextView widget, Spannable buffer, MotionEvent event) {
- int action = event.getAction();
- if (action == MotionEvent.ACTION_DOWN) {
- int x = (int) event.getX();
- int y = (int) event.getY();
- x -= widget.getTotalPaddingLeft();
- y -= widget.getTotalPaddingTop();
- x += widget.getScrollX();
- y += widget.getScrollY();
- Layout layout = widget.getLayout();
- int line = layout.getLineForVertical(y);
- int off = layout.getOffsetForHorizontal(line, x);
- ClickableSpan[] link = buffer.getSpans(off, off + 1, ClickableSpan.class);
- if (link.length != 0) {
- link[0].onClick(widget);
- return true;
- } else {
- Selection.removeSelection(buffer);
- }
- }
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement