WebView将不会在Android 2.x中滚动

我有一个WebView的问题。 我在这个WebView中打开一个网页,它不会在Android 2.x中滚动,但会在Android 3.x +中滚动。

任何想法我能做些什么来解决这个问题?

这是我用于此WebView的configuration:

wView = (WebView) findViewById(R.id.webView1); wView.getSettings().setJavaScriptEnabled(true); wView.setHorizontalScrollBarEnabled(true); 

在布局中:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#00000000" tools:context=".MainActivity" android:orientation="vertical"> <WebView android:id="@+id/webView1" android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="horizontal" /> </LinearLayout> 

  • 加载下一个WebView之前,如何清除以前的WebView的内容?
  • Android,抓住webview重定向url
  • 从WebView打开softinput时,Android窗口不会resize/平移
  • 如何在WebView中的Android上独立滚动行和列(一个Netflix应用程序)?
  • 由admob使用的WebViewCoreThread AdView即使在父活动暂停时也使用高CPU
  • 从本地文件夹加载html文件到webview
  • 如何在WebView里添加“返回”function在Fragment里面?
  • SSL会话未在Android WebView中重用
  • 如果你仍然有问题

      WebView wv = (WebView) v.findViewById(R.id.webview); wv.getSettings().setSupportZoom(true); wv.getSettings().setBuiltInZoomControls(true); wv.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); WebSettings settings = wv.getSettings(); settings.setUseWideViewPort(true); settings.setJavaScriptEnabled(true); settings.setSupportMultipleWindows(true); settings.setJavaScriptCanOpenWindowsAutomatically(true); settings.setLoadsImagesAutomatically(true); settings.setLightTouchEnabled(true); settings.setDomStorageEnabled(true); settings.setLoadWithOverviewMode(true); wv.loadUrl("http://www.google.com"); 

    如果你想显示ProgressBar而页面仍在加载使用

      ProgressBar pb = (ProgressBar).findViewById(R.id.webview_progressBar1); wv.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { return super.shouldOverrideUrlLoading(view, url); } @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); pb.setVisibility(View.INVISIBLE); } @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { super.onPageStarted(view, url, favicon); pb.setVisibility(View.VISIBLE); } }); 

    希望这可以帮助…

    旧版Android浏览器不支持该网站的CSS或JavaScript中的内容,这与您的代码无关。

    对于明确的回答有点过于宽泛 – 您需要在不同的浏览器上testing您的网站是否符合规定。 如果您在网站上使用任何特定的库,则需要检查它们的兼容性。

    以下是一些可能有所帮助的链接:

    如果你尝试设置这个:

     wView.getSettings().setUseWideViewPort(true); 

    你可以试着把你的webview放在scrollview里面:

    <LinearLayout ...... > <HorizontalScrollView ..... > <WebView .... /> </HorizontalScrollView> </LinearLayout>

    修改你的XML来代替使用ScrollView。 将工作。

     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#00000000" tools:context=".MainActivity" android:orientation="vertical"> <ScrollView android:layout_width="match_parent" android:layout_height="match_parent" <WebView android:id="@+id/webView1" android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="horizontal" /> </ScollView> </LinearLayout> 

    有很多改进已经在3x +中出现了,android webview的限制太多了http://androiddeveloperuser.blogspot.in/2011/05/webview-part-1-capabilities-and.html

    在这里,我将通过写在一个Android博客写的关于限制和优势的短小的包含

    有很多事件是不能被拦截的,限制什么行为可以被重载,这就限制了这个组件的定制,并且很难改变这个组件的默认行为。