当前位置:首页 > 开发 > 移动开发 > 正文

Android WebView

发表于: 2012-08-24   作者:dubinwei   来源:转载   浏览次数:
摘要: 详细内容可以查看我的网站:[url]http://1.playandroid.duapp.com/index.jsp [/url] 1、设置WebView为透明: android:background="#00000000" android:cacheColorHint="#00000000" WebView.setBackgroundColor(0
详细内容可以查看我的网站:[url]http://1.playandroid.duapp.com/index.jsp [/url]
1、设置WebView为透明:
android:background="#00000000"
android:cacheColorHint="#00000000"
WebView.setBackgroundColor(0);

2、WebView 显示sd卡图片:
webView.loadDataWithBaseURL(null,"<img src=\"file://sdcard/dcim/Camera/2010-12-15_08-33-50_583.jpg\" />", "text/html", "utf-8", null);

3、WebView显示字符串
webView.loadDataWithBaseURL("fake://not/needed", s1, "text/html", "utf-8", "");

4、设置WebView中显示字体的大小
public static final TextSize[] FONT_SIZES = new TextSize[]{
    TextSize.SMALLER,TextSize.NORMAL,TextSize.LARGER};
private WebSettings wb;
wb = mWebViewRightContent.getSettings();
wb.setTextSize(FONT_SIZES[iFontSizeId]);

字体大小:
public enum TextSize {
    SMALLEST(50),
    SMALLER(75),
    NORMAL(100),
    LARGER(150),
    LARGEST(200);
    TextSize(int size) {
        value = size;
    }
    int value;
}

5、WebView显示html文件时,若要达到和PC上浏览器显示的效果完全一样,只需对WebView做一下设置即可:
//适应全屏  39适应竖屏    57适应横屏
mWebView.setInitialScale(39);

注意的是:html只字体太小的话,在Android手机或开发板上显示的就相当的小。一般6、7号字体吧!

6、WebView设置渐变:
android:fadingEdge="vertical"
android:fadingEdgeLength="20px"
(垂直方向,上下渐变区域为20px)

7、设置WebView可触摸放大缩小:
mWebView.getSettings().setBuiltInZoomControls(true);

8、WebView双击变大,再双击后变小,当手动放大后,双击可以恢复到原始大小,如下设置:
webView.getSettings().setUseWideViewPort(true);

9、几种加速WebView加载的方法
· 提高渲染的优先级
webView.getSettings().setRenderPriority(RenderPriority.HIGH);
· 使用webView.getSettings().setBlockNetworkImage,把图片加载放在最后来加载渲染
webView.getSettings().setBlockNetworkImage(true);

10、将字符串转换成HTML形式的文件显示:
//获取的字符串
String sDetails = cursor.getString(cursor.getColumnIndex("sChinese"));
//按行截取字符串,将其存放在数组中
String[] str = sDetails.split("\n");
String s1 = "";
//遍历数组进行判断,如果条件成立,就添加设定的css样式
for(int i = 0;i < str.length;i ++){
    if(str[i].trim().startsWith("vt.")){
        str[i] = "<h3 style=\"font-size:10px; color:#000; background:#FCFCFC; padding:3px 5px;\">" + str[i] + "<h3>" + "\n";
    }else if(getMark(str[i].trim())){
    str[i] = "<h4 style=\"font-size:10px; color:#F60; font-weight:normal;\">" + str[i] + "</h4>" + "\n";
    }else if(str[i].trim().startsWith("〖")){
        str[i] = "<span style=\"color:#333; font-size:10px; color:#F60\">" + str[i] + "</span>" + "\n";
    }else {
        str[i] = "<p style=\"line-height:16px; font-size:10px;color:#666;\">" + str[i] + "</p>" + "\n";
    }
    //将修改后的字符串拼接起来
    s1 += str[i];
}
//用WebView将字符串以HTML的形式显示出来
webView.loadDataWithBaseURL("fake://not/needed", s1, "text/html", "utf-8", "");

11、WebView加载本地资源文件html时,如果html中有图片,加载时会先加载文字,后加载图片,因此会出现排版混乱的情况,好像加载了两遍,这种情况是因为,html中图片的高度是自适应的,没有设定具体的值,图片加载出来后,并没有将文字往下挤压,所以出现了重叠的现象,解决方法:
将html中图片的宽高设成固定的值,这样加载文字后,会将图片的位置预留出来,之后图片加载出来后会直接在预留的位置显示,不会出现重叠的现象。
(适用于自己编写的HTML文件,如果加载的是网络地址URL,参考上面的第9点)

Android WebView

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
本章节翻译自《Beginning-Android-4-Application-Development》,如有翻译不当的地方,敬请指出。
转于:http://blog.csdn.net/chenshijun0101/article/details/7045394 ---------------------------
WebView(网络视图)能加载显示网页,可以将其视为一个浏览器。它使用了WebKit渲染引擎加载显示网页,
项目地址:http://code.google.com/p/apps-for-android/source/browse/#svn/trunk/Samples/WebViewDe
各位读者大家好,最近比较忙好久没有写blog了,今天挤点时间和大家分享一下Android中WebView的缓存
H5的调试的方式一般用chrome的emulator就好,可是遇到APP就拙计了。这时候还得用远程调试,远程调试
为了先体验一下效果,截了一个图 main.xml <?xml version="1.0" encoding="utf-8"?> <Linea
基础篇 在Android手机中内置了一款高性能webkit内核浏览器,在SDK中封装为一个叫做WebView组件。 什
转: http://blog.csdn.net/chenshijun0101/article/details/7045394 浏览器控件是每个开发环境都具
webview与js交互 对于android初学者应该都了解webView这个组件。之前我也是对其进行了一些简单的了
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号