Android WebView加载本地资源

在Android开发中,使用WebView加载本地HTML资源时可能会遇到图片显示问题。通过使用`loadDataWithBaseURL`方法,并设置正确的baseUrl作为图片的目录,可以解决相对路径导致的图片不显示问题。此方法适用于不同分辨率的屏幕,并且可以加载文字内容。在2.1及更高版本的模拟器中,推荐使用`LoadDataWithBaseURL`,因为它能避免乱码问题,且操作更简便。加载本地文件时,务必以`file:///`开头。
摘要由CSDN通过智能技术生成

public void loadData(String data, String mimeType, String encoding)

则会出现html代码中图片路径不对导致不能正常显示图片(通常是一个白色的固定大小的框,或者没有),当把路径改为绝对路径加上file://都还无法解决。

终于,在网上查资料的时候发现了这个函数,正好解决这个问题

public void loadDataWithBaseURL(String baseUrl, String data, String mimeType,String encoding,String historyUrl)

baseUrl是图片的目录,在html代码中就写关于此目录的相对路径就可以了。

附带代码解释:

String htmlPath = "file:///mnt/sdcard/test/11.html";
String baseUrl = "file:///mnt/sdcard/test/";

webView.loadDataWithBaseURL(baseUrl, data, "text/html", "utf-8", null);

则两个调用都可以显示正常的html网页了,并且前一种可以对针对不同分辨率大小的屏幕做缩放了!!

另外是可以加载html,string等文字的,如下:

    private String html = "<!DOCTYPE html>\n" +
            "<html>\n" +
            "<head> \n" +
            "<meta charset=\"utf-8\"> \n" +
            "<title>菜鸟教程(runoob.com)</title> \n" +
            "</head>\n" +
            "<body>\n" +
            "\n" +
            "<p>有序列表:</p>\n" +
            "<ol>\n" +
            "
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值