时间:2021-05-20
本文实例讲述了Android开发实现webview中img标签加载本地图片的方法。分享给大家供大家参考,具体如下:
在网上查了很多教程,感觉很麻烦,各种方法,最后实践很简单,主要是两步:
WebSettings webSettings=webView.getSettings();//允许webview对文件的操作webSettings.setAllowUniversalAccessFromFileURLs(true);webSettings.setAllowFileAccess(true);webSettings.setAllowFileAccessFromFileURLs(true);其次是路径的设置
String path= "file://"+Environment.getExternalStorageDirectory()+ File.separator+"123.jpg";一定是file:///开头,注意是三个斜杠
下面是结果:
执行代码之前
执行代码之后
html代码
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <title>Title</title></head><body><img id="img" alt="上海鲜花港 - 郁金香" style="width: 100%;height: 100%"/><script>function aa(path){alert(path); var img=document.getElementById("img"); img.src=path;}</script></body></html>Android代码
package com.example.a5.myapplication;import android.os.Environment;import android.support.v7.app.AlertDialog;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.webkit.WebChromeClient;import android.webkit.WebSettings;import android.webkit.WebView;import java.io.File;public class MainActivity extends AppCompatActivity { private WebView webView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); webView= (WebView) findViewById(R.id.webView); WebSettings webSettings=webView.getSettings(); //允许webview对文件的操作 webSettings.setAllowUniversalAccessFromFileURLs(true); webSettings.setAllowFileAccess(true); webSettings.setAllowFileAccessFromFileURLs(true); //用于js调用Android webSettings.setJavaScriptEnabled(true); //设置编码方式 webSettings.setDefaultTextEncodingName("utf-8"); webView.setWebChromeClient(new chromClient()); //访问Android assets文件夹内的 String url="file:///android_asset/test.html"; //访问网页Html// String url="http://192.168.1.121:8080/jsandroid/index.html"; runWebView(url); } private class chromClient extends WebChromeClient{ @Override public void onProgressChanged(WebView view, int newProgress) { if(newProgress==100){ //页面加载完成执行的操作 String path= "file://"+Environment.getExternalStorageDirectory()+ File.separator+"123.jpg"; String action="javascript:aa('"+path+"')"; new AlertDialog.Builder(MainActivity.this) .setMessage(action) .show(); runWebView(action); } super.onProgressChanged(view, newProgress); } } private void runWebView(final String url){ runOnUiThread(new Runnable() { @Override public void run() { webView.loadUrl(url); } }); }}更多关于Android相关内容感兴趣的读者可查看本站专题:《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android布局layout技巧总结》、《Android开发入门与进阶教程》、《Android资源操作技巧汇总》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在微信小程序中,要显示一张图片,有两种图片加载方式:加载本地图片加载网络图片加载本地图片src="/image/arrowright.png"这句就是加载本地图
本文实例讲述了Android开发实现加载网络图片并下载至本地SdCard的方法。分享给大家供大家参考,具体如下:packagecom.example.myima
本地图片不显示,开发工具运行是没问题的,但真机调试却显示不了item.img='/goods/img/图片.png'经过仔细观察发现,路径是没问题的,问题在于图
在html插入图片让图片显示需要HTML标签来实现,使用img标签即可实现。 html图片标签语法 代码如下: img介绍: src后跟的是图片
Base64是传输字节码的编码,Android开发过程中,图片的加载多数是请求URL路径或者加载本地的图片,当然也有加载服务器用Base64编码过的图片,比如图