我想在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");`
这是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>
setContentView(R.layout.map);
WebView mWebView =(WebView)findViewById(R.id.webMap);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl("file:///android_assets/map)");
这是一个完整的屏幕截图
这是新代码但我收到错误
@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");
答案 0 :(得分:12)
您可以这样访问: -
文件:/// android_res /抽拉/ YOUR_FILE_NAME
答案 1 :(得分:6)
您无法从应用程序的可绘制目录(如
)访问Drawable mWebView.loadUrl("file://res/drawable/map");
来自应用包资源目录的文件,您应该使用
mWebView.loadUrl("content://"+Context.getResources().getAsset()+"filename");
编辑:确定将您的图像放在应用程序资产目录中,然后例如写行,
myWebView.loadUrl("file:///android_asset/testimage.jpg");
或使用
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setBuiltInZoomControls(true);
webView.loadUrl("file://mnt/sdcard/map.png");
试试吧
答案 2 :(得分:0)
尝试
mWebView.loadUrl("file://res/drawable/map.png")