如何从webview中的资源加载图片?

woc*_*dia 1 resources android webview drawable

我想在WebView中的可绘制资源中加载一张名为map.png的图片.

我在另一个答案中找到了这个建议webview.loadUrl("file:// ..."),但我不明白如何正确设置它.我总是得到错误,找不到请求的文件.这就是我写的

`public class Map extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.map);
  WebView mWebView =(WebView)findViewById(R.id.webMap);
        mWebView.getSettings().setJavaScriptEnabled(true);
        mWebView.loadUrl("file://res/drawable/map");`
Run Code Online (Sandbox Code Playgroud)

这是XML

    <WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webMap"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" android:orientation="vertical">

</WebView>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

     setContentView(R.layout.map);
  WebView mWebView =(WebView)findViewById(R.id.webMap);
        mWebView.getSettings().setJavaScriptEnabled(true);
        mWebView.loadUrl("file:///android_assets/map)");
Run Code Online (Sandbox Code Playgroud)

这是一个完整的屏幕截图

在此输入图像描述

这是新代码但我收到错误

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.map);
        WebView myWebView = (WebView) findViewById(R.id.webMap);
        myWebView.getSettings().setJavaScriptEnabled(true);
        myWebView.getSettings().setBuiltInZoomControls(true);
        myWebView.setWebViewClient(new MyWebViewClient());
        myWebView.loadUrl("file://mnt/sdcard/map.png");
Run Code Online (Sandbox Code Playgroud)

vnt*_*udy 13

你可以像这样访问: -

文件:/// android_res /绘制/ YOUR_FILE_NAME


use*_*305 6

你无法从应用程序的可绘制目录中访问Drawable

   mWebView.loadUrl("file://res/drawable/map");
Run Code Online (Sandbox Code Playgroud)

对于您应该使用的应用包资产目录中的文件

   mWebView.loadUrl("content://"+Context.getResources().getAsset()+"filename");
Run Code Online (Sandbox Code Playgroud)

编辑:确定将您的图像放在应用程序资产目录中,然后例如写入行,

  myWebView.loadUrl("file:///android_asset/testimage.jpg"); 
Run Code Online (Sandbox Code Playgroud)

或使用

    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setBuiltInZoomControls(true);
    webView.loadUrl("file://mnt/sdcard/map.png");
Run Code Online (Sandbox Code Playgroud)

试试吧