【问题标题】:Enable horizontal scrolling in a webview在 web 视图中启用水平滚动
【发布时间】:2012-03-07 13:10:02
【问题描述】:

在我的 webview 活动中,我可以垂直(上下)滚动网页,但不能水平滚动(从右到左或从左到右),当我也缩放网页时,仍然没有水平滚动。

有没有可能在 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>

【问题讨论】:

  • 传统上android中的WebView默认支持水平滚动。也许您以某种方式在代码中禁用了它,或者您没有查看水平滚动的页面?
  • @bbedward: 请看我的代码

标签: android android-webview


【解决方案1】:

简答:

使用这个

mWebView.getSettings().setUseWideViewPort(true);

长答案:

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

setLoadWithOverviewMode(true) 加载完全缩小的 WebView

setUseWideViewPort(true) 使 Webview 有一个普通的视口(例如普通的桌面浏览器),而当为 false 时,webview 的视口将限制在它自己的尺寸内(所以如果 webview 是50px*50px 的视口大小一样)

Webview.setInitialScale(xx);

【讨论】:

  • 我没有使用这3种方法中的任何一种,请看我编辑的帖子,添加代码。
  • 不可能是 XML 问题?
  • 您是否也可以在 Webview 的布局文件中添加您正在使用的 XML 代码
  • 尝试添加 setLoadWithOverviewMode(false)、setUseWideViewPort(true)。这将以正常模式显示您的页面,您会自动获得滚动条
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多