Android webview - 网页以非常破碎的方式呈现

时间:2013-07-09 01:59:00

标签: java android android-webview

我正在尝试在Android WebView中加载这个流行的播客:

http://www.stitcher.com/podcast/entrepreneuronfirecom/entrepreneur-on-fire-tim-ferriss-other-incredible-entrepreneurs

这就是我渲染它的方式:

public class PodcastsActivity extends BaseActivity  
{    
    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);

        WebView webview = new WebView(this);
        webview.getSettings().setAppCacheEnabled(false);
        webview.getSettings().setJavaScriptEnabled(true);
        webview.setInitialScale(100);
        webview.setWebViewClient(new WebViewClient());

        setContentView(webview);
        webview.loadUrl("http://www.stitcher.com/podcast/entrepreneuronfirecom/entrepreneur-on-fire-tim-ferriss-other-incredible-entrepreneurs");           

在我的清单中,我的活动定义如下:

    <activity
        android:name="PodcastsActivity"
        android:label="Podcasts" 
        android:hardwareAccelerated="true"/> 

但它呈现如下:

enter image description here

是否需要设置额外的设置?或者我缺少的东西?

谢谢!

1 个答案:

答案 0 :(得分:5)

我希望你看过其他答案。您可以尝试的一些事情是:

1)从webview not loading correctly in application问题开始,您可以在加载URL之前尝试启用java脚本:

webview.setInitialScale(1);
webview.getSettings().setAppCacheEnabled(false);
webview.getSettings().setJavaScriptEnabled(true);

2)根据Android webview not rendering html content correctly问题,如果您的目标高于2.3.3,请尝试在清单文件中添加此内容。

android:hardwareAccelerated="true"

<强>更新

3)同时检查您是否manifest作为<manifest>标记的直接子项获得了以下权限:

<uses-permission android:name="android.permission.INTERNET" />

Unable to load webpage using WebView in Android

4)您可以按照shouldOverrideUrlLoading() {/ 3>}的方式尝试here方法

更新2

正如您所说,它在您的浏览器上正确显示,如果在应用程序中单击某个链接时,还可以使用上述方法,它会打开默认浏览器。我不确定你是否想要这个,但这是一种可能性。如下:

webview.setWebViewClient(new WebViewClient(){
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        if (url != null) {
            view.getContext().startActivity(
                new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
            return true;
        } else {
            return false;
        }
    }
});

webview.loadUrl("http://www.stitcher.com/podcast/entrepreneuronfirecom/entrepreneur-on-fire-tim-ferriss-other-incredible-entrepreneurs");

来源:WebView link click open default browser

希望这会有所帮助。