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> 

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

如果你仍然有问题

  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博客写的关于限制和优势的短小的包含

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