国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android開發實現webview中img標簽加載本地圖片的方法

2019-10-22 18:24:44
字體:
來源:轉載
供稿:網友

本文實例講述了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:///開頭,注意是三個斜杠

下面是結果:

執行代碼之前

 Android開發,webview,img標簽,加載,本地圖片

執行代碼之后

 Android開發,webview,img標簽,加載,本地圖片

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" 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開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 天祝| 洛南县| 景泰县| 阳高县| 凤山市| 象州县| 临海市| 鹤壁市| 昌黎县| 依兰县| 股票| 深圳市| 沙洋县| 昭觉县| 平果县| 雅安市| 广南县| 南川市| 安义县| 张北县| 遵化市| 安徽省| 泸州市| 香格里拉县| 桐柏县| 清水河县| 高雄市| 高邮市| 扶余县| 天柱县| 绵竹市| 来凤县| 池州市| 海门市| 且末县| 海城市| 武冈市| 望城县| 驻马店市| 望城县| 洛阳市|