在Webview中启用水平滚动

时间:2012-03-07 13:10:02

标签: android android-webview

在我的网页浏览活动中,我可以垂直滚动网页(向上和向下)但我无法水平滚动(从右到左或从左到右),当我缩放网页时,仍然没有水平滚动。

是否有可能在网页浏览中添加此内容? 非常感谢你。

getWindow().setFeatureInt( Window.FEATURE_PROGRESS, Window.PROGRESS_VISIBILITY_ON);

        mWebView = (WebView) findViewById(R.id.webview);

        mWebView.getSettings().setBuiltInZoomControls(true);
        mWebView.getSettings().setSupportZoom(true);
        mWebView.setVerticalScrollBarEnabled(true);



        mWebView.setWebChromeClient(new WebChromeClient() {
            public void onProgressChanged(WebView view, int progress)   
            {
             //Make the bar disappear after URL is loaded, and changes string to Loading...
            MyActivity.setTitle("Loading...");
             MyActivity.setProgress(progress * 100); //Make the bar disappear after URL is loaded

             // Return the app name after finish loading
                if(progress == 100)
                   MyActivity.setTitle(R.string.app_name);
              }
            });
        mWebView.setWebViewClient(new Manipulation());
        mWebView.getSettings().setJavaScriptEnabled(true);

        mWebView.loadUrl(myURL);

XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent" 
>
  <WebView
    android:id="@+id/webview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
  />
</LinearLayout>

1 个答案:

答案 0 :(得分:24)

简答:

使用此

mWebView.getSettings().setUseWideViewPort(true);

长答案:

可能是由于以下任何因素造成的

setLoadWithOverviewMode(true)加载WebView完全缩小

setUseWideViewPort(true)使Webview具有普通视口(例如普通桌面浏览器),而当为false时,webview将具有约束于其自身维度的视口(因此,如果webview是50px * 50px视口大小相同)

OR

Webview.setInitialScale(xx);