android - 如何将 WebView 滚动到 Android 上的特定点

标签 android webview scroll

我有一个 WebView,我希望我的应用在文本上找到一个标记(我在 html 中使用符号 ►)。我有很多 html 文件,每个文件都有近 10 个这样的标记。

我用 TextView 很容易地做到了这一点:

    int offset=texto.indexOf("SPECIFIC MARKING ON TEXT");   
    final int line = textview.getLayout().getLineForOffset(offset); 
    final int y = textview.getLayout().getLineTop(line); // e.g. I want to scroll to line
    final ScrollView s = (ScrollView)findViewById(R.id.ScrollView01); 
    s.post(new Runnable() {
        @Override
        public void run() {
            s.smoothScrollTo(0, y);
        }
    });

但是我如何在 Webview 上完成它呢? 我使用 Webview 的原因是更好的文本格式。

最佳答案

事实上,使用 WebView 甚至更简单。您可以使用 findAll method对于第一次出现,然后是 findNext(true)对于以下标记。 View 将自动滚动到请求的文本。

关于android - 如何将 WebView 滚动到 Android 上的特定点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8934464/

相关文章:

android - 在 Android 上播放 hls/rtmp

android - Cordova 地理定位插件无法从适用于 Android 的 GPS 获取位置

java - Android WebView 加载速度太慢

android - 尝试隐藏工具栏时出现布局问题

android - recyclerview 中的 webview 无法正常工作

java - 无法使用 Java 客户端使用 Appium 滚动 Android 应用程序

jquery - CSS - 如何使溢出隐藏在右边而不是左边?

Android ListView 项目属性在滚动时发生变化

Android GLSurfaceView.Renderer 正在中断不完整的触摸事件

css - 删除滚动条,但不剪辑之前或之后的内容?