android - 有没有办法检索 TextView 的可见行数或范围?

标签 android

我有一个全屏 TextView 持有需要滚动的长跨度。 TextView 的 getLineCount() 为我提供了用于整个文本 block 的总行数,但我想知道屏幕上当前可见多少行文本。

或者,更好的是,有没有办法计算出当前在屏幕上可见的线条范围?例如,当 View 滚动时,我可以判断第 20-60 行当前可见吗?

最佳答案

我想出了答案:

int height    = myTextView.getHeight();
int scrollY   = myTextView.getScrollY();
Layout layout = myTextView.getLayout();

int firstVisibleLineNumber = layout.getLineForVertical(scrollY);
int lastVisibleLineNumber  = layout.getLineForVertical(scrollY+height);

关于android - 有没有办法检索 TextView 的可见行数或范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2239356/

相关文章:

Android:检查 OpenGL 上下文是否丢失

android - 调整移动设备的宽度

java - 无法调试 ResourceNotFoundException

Android 在 SQLite 中存储一个 Parcelable 对象

Android WebView 可滚动

android - 将 CameraKit 与 Kotlin 一起使用时应用程序崩溃

java - 具有 OpenGL ES 3.1 上下文的 GLSurfaceView

android - 适用于 API 10 的 AppCompat V7 最新版本

android - 如何在 480x800 和 1280x760 屏幕上使用不同的字体大小?

android - 如何使用 AWS Amplify Android 强制刷新身份验证 token ?