安卓4.0长的HTML网页流量 [英] Android 4 long html in webview

查看:170
本文介绍了安卓4.0长的HTML网页流量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有我显示HTML硬codeD字符串(约1500字)加载的网页视图。
在HTML中的HTML验证测试。
的HTML是简单的div包含和p代码,而不是JavaScript的。
仅适用于Android版本4我带滚动空白页,在Android版本低于4它的正常工作。
不幸的是,我不能暴露孔code。

有没有安卓4.0的WebView有什么区别?

我的code:

  mWebView.setWebChromeClient(mWebChromeClient);
mWebView.setWebViewClient(mWebViewClient);
mWebView.addJavascriptInterface(新JavaScriptInterface(getActivity()),JavaScriptInterface.NAME);如果(CLEAR_CACHE_ON_LOAD){
    mWebView.clearCache(真);
}mWebView.getSettings()setJavaScriptEnabled(真)。
。mWebView.getSettings()setJavaScriptCanOpenWindowsAutomatically(假);mWebView.loadDataWithBaseURL(假://,htmlString,text / html的,UTF-8,假://);
//要么 -
mWebView.loadData(htmlBase64String,text / html的,BASE64);

中的XML:

 <滚动型
    机器人:ID =@ + ID /滚动视图
    机器人:layout_width =match_parent
    机器人:layout_height =match_parent
    机器人:layout_below =@ + ID / expandingView>    <的LinearLayout
        机器人:layout_width =match_parent
        机器人:layout_height =WRAP_CONTENT
        机器人:方向=垂直>
        <的FrameLayout
            机器人:layout_width =match_parent
            机器人:layout_height =WRAP_CONTENT>
            <的WebView
                机器人:ID =@ + ID / web视图
                机器人:layout_width =match_parent
                机器人:layout_height =WRAP_CONTENT
                机器人:fadingEdge =垂直
                机器人:layerType =软件
                机器人:滚动条=无/>            <查看
                机器人:ID =@ + ID / webViewClickOverlay
                机器人:layout_width =match_parent
                机器人:layout_height =match_parent/>
        < /&的FrameLayout GT;        <的LinearLayout
            机器人:ID =@ + ID / more_about_container
            机器人:layout_width =match_parent
            机器人:layout_height =WRAP_CONTENT
            机器人:背景=@绘制/ color_white_grey_selector
            机器人:重力=center_vertical
            机器人:填充=@扪/ padding_medium
            机器人:知名度=水涨船高>
            <的TextView
                机器人:layout_width =WRAP_CONTENT
                机器人:layout_height =WRAP_CONTENT
                机器人:layout_marginRight =@扪/ padding_medium
                机器人:文字=@字符串/ more_about
                机器人:文字颜色=@彩色/ vocativ_purple
                机器人:TEXTSIZE =@扪/ text_size_medium
                机器人:文字样式=大胆/>
            <的TextView
                机器人:ID =@ + ID / label_more_about
                机器人:layout_width =0dp
                机器人:layout_height =WRAP_CONTENT
                机器人:layout_weight =1
                机器人:ellipsize =结束
                机器人:行=1
                机器人:文字=BLA的第二个夜晚
                机器人:文字颜色=@彩色/ vocativ_pink
                机器人:TEXTSIZE =@扪/ text_size_medium
                机器人:文字样式=大胆/>
            <的TextView
                机器人:layout_width =WRAP_CONTENT
                机器人:layout_height =WRAP_CONTENT
                机器人:drawableRight =@绘制/ ic_arrow_pink/>
        < / LinearLayout中>        <包括
            机器人:ID =@ + ID / related_content_container
            机器人:layout_width =match_parent
            机器人:layout_height =match_parent
            布局=@布局/ widget_story_container/>
    < / LinearLayout中>< /滚动型>


解决方案

需要设置
机器人:layerType =软件到Android:layerType =无

请参阅下一个链接

I have a web view in which I show HTML loaded from hardcoded string (about 1500 characters). The HTML tested in HTML validator. The html is simple contains div and p tags, not javascript. Only on Android versions 4 I got a blank page with scroll, on Android versions lower than 4 it's works fine. Unfortunately I cannot expose the hole code.

Is there any difference in Android 4 WebView ?

My code:

mWebView.setWebChromeClient(mWebChromeClient);
mWebView.setWebViewClient(mWebViewClient);
mWebView.addJavascriptInterface(new JavaScriptInterface(getActivity()),JavaScriptInterface.NAME);

if (CLEAR_CACHE_ON_LOAD) {
    mWebView.clearCache(true);
}

mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(false);

mWebView.loadDataWithBaseURL("fake://", htmlString, "text/html", "UTF-8", "fake://");
//OR -
mWebView.loadData(htmlBase64String, "text/html", "base64");

The XML:

<ScrollView
    android:id="@+id/scrollView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@+id/expandingView" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >
        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >
            <WebView
                android:id="@+id/webview"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:fadingEdge="vertical"
                android:layerType="software"
                android:scrollbars="none" />

            <View
                android:id="@+id/webViewClickOverlay"
                android:layout_width="match_parent"
                android:layout_height="match_parent" />
        </FrameLayout>

        <LinearLayout
            android:id="@+id/more_about_container"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/color_white_grey_selector"
            android:gravity="center_vertical"
            android:padding="@dimen/padding_medium"
            android:visibility="gone" >
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginRight="@dimen/padding_medium"
                android:text="@string/more_about"
                android:textColor="@color/vocativ_purple"
                android:textSize="@dimen/text_size_medium"
                android:textStyle="bold" />
            <TextView
                android:id="@+id/label_more_about"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:ellipsize="end"
                android:lines="1"
                android:text="SECOND NIGHT OF BLA"
                android:textColor="@color/vocativ_pink"
                android:textSize="@dimen/text_size_medium"
                android:textStyle="bold" />
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:drawableRight="@drawable/ic_arrow_pink" />
        </LinearLayout>

        <include
            android:id="@+id/related_content_container"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            layout="@layout/widget_story_container" />
    </LinearLayout>

</ScrollView>

解决方案

Needed to set android:layerType="software" to android:layerType="none"

See the next link

这篇关于安卓4.0长的HTML网页流量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆