【问题标题】:How to set the position (scroll down position) of a webview after it is loaded?加载后如何设置webview的位置(向下滚动位置)?
【发布时间】:2015-05-25 16:44:57
【问题描述】:

我正在将自制的 html 页面加载到 webview 中,并希望在加载后设置位置。在我的情况下,页面总是显示在顶部。任何提示如何做到这一点。

到目前为止我的代码:

wv.setWebViewClient(new WebViewClient() {
@SuppressLint("NewApi")
            public void onPageFinished(WebView view, String url) {
                super.onPageFinished(view, url);
                int iSDKLevel=android.os.Build.VERSION.SDK_INT ;
                if(iSDKLevel>=14){

                        wv.setScrollY(1000);

                }
            }

但永远不会调用 onPageFinished :-(

有什么提示吗?

【问题讨论】:

  • 当你说position是什么意思?也许automatically scroll
  • 是的,我的意思是我喜欢在特定位置显示文本。为此,我尝试向下滚动到位置 1000。
  • 有一段时间我在 XML 中看到类似 android:descendantFocusability 的东西,检查一下,我不记得它是如何工作的,也许它对你有帮助
  • 或者你可以使用 Handlers 实现自动滚动,等等,让我发布一个答案来做到这一点
  • @mcflysoft remove super.onPageFinished(view, url); 现在会调用 onPageFinished 吗?

标签: android webview


【解决方案1】:

使用处理程序自动滚动:

private Runnable mScrollDown = new Runnable()
{
    public void run()
    {
        WebView webview = (WebView)findViewById(R.id.myWebView);
        webview.scrollBy(0, scrollSpeed);
        mHandler.postDelayed(this, 1000);
    }
};

我也找到了将 WebView 滚动到特定 DOM 元素的链接,检查一下。

Scroll a WebView to a particular DOM element

【讨论】:

  • 非常感谢。我会试试这个。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-12-22
  • 1970-01-01
  • 1970-01-01
  • 2010-10-24
  • 1970-01-01
  • 1970-01-01
  • 2016-03-07
相关资源
最近更新 更多