Advertisement
Guest User

Untitled

a guest
Feb 20th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.08 KB | None | 0 0
  1. import android.text.Layout;
  2. import android.text.Selection;
  3. import android.text.Spannable;
  4. import android.text.method.LinkMovementMethod;
  5. import android.text.style.ClickableSpan;
  6. import android.view.MotionEvent;
  7. import android.widget.TextView;
  8.  
  9. /**
  10. * Created on 2/17/2017
  11. *
  12. * @author Pkmmte Xeleon
  13. */
  14. public class PkMovementMethod extends LinkMovementMethod {
  15. @Override
  16. public boolean onTouchEvent(TextView widget, Spannable buffer, MotionEvent event) {
  17. int action = event.getAction();
  18.  
  19. if (action == MotionEvent.ACTION_DOWN) {
  20. int x = (int) event.getX();
  21. int y = (int) event.getY();
  22.  
  23. x -= widget.getTotalPaddingLeft();
  24. y -= widget.getTotalPaddingTop();
  25.  
  26. x += widget.getScrollX();
  27. y += widget.getScrollY();
  28.  
  29. Layout layout = widget.getLayout();
  30. int line = layout.getLineForVertical(y);
  31. int off = layout.getOffsetForHorizontal(line, x);
  32.  
  33. ClickableSpan[] link = buffer.getSpans(off, off + 1, ClickableSpan.class);
  34.  
  35. if (link.length != 0) {
  36. link[0].onClick(widget);
  37. return true;
  38. } else {
  39. Selection.removeSelection(buffer);
  40. }
  41. }
  42.  
  43. return false;
  44. }
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement