安卓4.0长的HTML网页流量 [英] Android 4 long html in webview
问题描述
我有我显示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屋!