我正试图在我的WebView上加载Time.com。
加载本身工作正常,但加载的页面不可滚动。
它与内置浏览器、chrome浏览器配合良好
如果我使用其他url(例如http://www.google.com/),它可以正常工作。
我认为问题出在网页(html)上,但我不知道是什么问题。
下面是代码,虽然没有什么特别的。
main活动.java
package com.yooiistudios.webviewperformance;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends ActionBarActivity {
private WebView mWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWebView = (WebView)findViewById(R.id.webView);
mWebView.setWebViewClient(new NewsWebViewClient());
mWebView.loadUrl("http://www.time.com/");
}
private class NewsWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
}
活动\主.xml
<RelativeLayout 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:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</RelativeLayout>
最佳答案
经过研究,我发现HTML5WebView对我的案例很有用。
另外,我也遇到了一个问题,网页中的一些视频无法在默认的android webview上播放,HTML5WebView也解决了这个问题。
它本身的源代码有点脏和混乱,它工作得很好。
不管怎样,我在这里留了个链接。希望这能帮助有同样问题的人。
链接:https://code.google.com/p/html5webview/source/browse/trunk/HTML5WebView/src/org/itri/html5webview/HTML5WebView.java