android.widget.TextView.getScrollY()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(4.7k)|赞(0)|评价(0)|浏览(215)

本文整理了Java中android.widget.TextView.getScrollY()方法的一些代码示例,展示了TextView.getScrollY()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。TextView.getScrollY()方法的具体详情如下:
包路径:android.widget.TextView
类名称:TextView
方法名:getScrollY

TextView.getScrollY介绍

暂无

代码示例

代码示例来源:origin: nickbutcher/plaid

private TouchableUrlSpan getPressedSpan(TextView textView, Spannable spannable, MotionEvent
    event) {
  int x = (int) event.getX();
  int y = (int) event.getY();
  x -= textView.getTotalPaddingLeft();
  y -= textView.getTotalPaddingTop();
  x += textView.getScrollX();
  y += textView.getScrollY();
  Layout layout = textView.getLayout();
  int line = layout.getLineForVertical(y);
  int off = layout.getOffsetForHorizontal(line, x);
  TouchableUrlSpan[] link = spannable.getSpans(off, off, TouchableUrlSpan.class);
  TouchableUrlSpan touchedSpan = null;
  if (link.length > 0) {
    touchedSpan = link[0];
  }
  return touchedSpan;
}

代码示例来源:origin: stackoverflow.com

myTextView.setOnTouchListener(new OnTouchListener() {
     @Override
     public boolean onTouch(View v, MotionEvent event) {
       boolean ret = false;
       CharSequence text = ((TextView) v).getText();
       Spannable stext = Spannable.Factory.getInstance().newSpannable(text);
       TextView widget = (TextView) v;
       int action = event.getAction();
       if (action == MotionEvent.ACTION_UP ||
           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 = stext.getSpans(off, off, ClickableSpan.class);
         if (link.length != 0) {
           if (action == MotionEvent.ACTION_UP) {
             link[0].onClick(widget);
           }
           ret = true;
         }
       }
       return ret;
     }
   });

代码示例来源:origin: stackoverflow.com

public abstract class TextViewLinkHandler extends LinkMovementMethod {

  public boolean onTouchEvent(TextView widget, Spannable buffer, MotionEvent event) {
    if (event.getAction() != MotionEvent.ACTION_UP)
      return super.onTouchEvent(widget, buffer, event);

    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);

    URLSpan[] link = buffer.getSpans(off, off, URLSpan.class);
    if (link.length != 0) {
      onLinkClick(link[0].getURL());
    }
    return true;
  }

  abstract public void onLinkClick(String url);
}

代码示例来源:origin: stackoverflow.com

y += widget.getScrollY();

代码示例来源:origin: hidroh/materialistic

y += widget.getScrollY();

代码示例来源:origin: stackoverflow.com

y += widget.getScrollY();

代码示例来源:origin: seven332/EhViewer

y += widget.getScrollY();

代码示例来源:origin: PrivacyApps/html-textview

y += widget.getScrollY();

代码示例来源:origin: jaydenxiao2016/AndroidFire

y += widget.getScrollY();

代码示例来源:origin: Naoki2015/CircleDemo

y += widget.getScrollY();

代码示例来源:origin: stackoverflow.com

y += widget.getScrollY();

代码示例来源:origin: seven332/EhViewer

int areatop = widget.getScrollY();
int areabot = areatop + widget.getHeight() - padding;

代码示例来源:origin: armcha/AutoLinkTextView

private TouchableSpan getPressedSpan(TextView textView, Spannable spannable, MotionEvent event) {

    int x = (int) event.getX();
    int y = (int) event.getY();

    x -= textView.getTotalPaddingLeft();
    y -= textView.getTotalPaddingTop();

    x += textView.getScrollX();
    y += textView.getScrollY();

    Layout layout = textView.getLayout();
    int verticalLine = layout.getLineForVertical(y);
    int horizontalOffset = layout.getOffsetForHorizontal(verticalLine, x);

    TouchableSpan[] link = spannable.getSpans(horizontalOffset, horizontalOffset, TouchableSpan.class);
    TouchableSpan touchedSpan = null;
    if (link.length > 0) {
      touchedSpan = link[0];
    }
    return touchedSpan;
  }
}

代码示例来源:origin: stackoverflow.com

y += widget.getScrollY();

代码示例来源:origin: stackoverflow.com

y += widget.getScrollY();

代码示例来源:origin: stackoverflow.com

y += widget.getScrollY();

代码示例来源:origin: stackoverflow.com

y -= textView.getTotalPaddingTop();
x += textView.getScrollX();
y += textView.getScrollY();

代码示例来源:origin: mtotschnig/MyExpenses

private static int getLineAtCoordinate(TextView view, float y) {
  y -= view.getTotalPaddingTop();
  // Clamp the position to inside of the view.
  y = Math.max(0.0f, y);
  y = Math.min(view.getHeight() - view.getTotalPaddingBottom() - 1, y);
  y += view.getScrollY();
  return view.getLayout().getLineForVertical((int) y);
}

代码示例来源:origin: ahmadaghazadeh/CodeEditor

public int getTopVisibleLine(TextView editor) {
  int lineHeight = editor.getLineHeight();
  if (lineHeight == 0) {
    return 0;
  }
  int line = editor.getScrollY() / lineHeight;
  if (line < 0) {
    return 0;
  }
  if (line >= editor.getLineCount()) {
    return editor.getLineCount() - 1;
  }
  return line;
}

代码示例来源:origin: ahmadaghazadeh/CodeEditor

public int getBottomVisibleLine(TextView editor) {
    int lineHeight = editor.getLineHeight();
    if (lineHeight == 0) {
      return 0;
    }
    int line = Math.abs((editor.getScrollY() + editor.getHeight()) / lineHeight) + 1;
    if (line < 0) {
      return 0;
    }
    if (line >= editor.getLineCount()) {
      return editor.getLineCount() - 1;
    }
    return line;
  }
}

相关文章

TextView类方法