@Androidが表示/res/表示できWebView
質問
I am投HTMLへのwebviewを描画するHTMLい負荷の画像となってい /res/drawable
.
していま /res/drawable/my_image.png
コードなどのこ
final WebView browser = (WebView) findViewById(R.id.my_webview);
String html = new MyHelper(myObject).getHtml();
browser.loadDataWithBaseURL("", html, "text/html", "UTF-8", "");
の文字列 html
がようなもの:
<html><head>
<h1>Here is the image</h1>
<img src="my_image.png" />
</head><html>
それでは、どうすればそのときのイメージ src
属性を参照してのイメージ /res/drawable
?
解決
これはアンドロイド2.2
で働いていました<img src = "file:///android_res/drawable/q1.png" />
q1.pngはRESである/描画可能-hdpiフォルダ
他のヒント
私はWebViews / HTMLについて多くを知らない認めるが、あなたは、このために、より複雑なルートを取っているように思えます。 HTMLファイルをロードするための簡単な方法があります。それは次のように呼ばれることができ、あなたの資産はフォルダに入れ、かつます。
WebView webView = new WebView(this);
webView.loadUrl("file:///android_asset/index.html");
setContentView(webView);
は明らかにあなたのレイアウトは、あなたが直接setContentView()
を使用することはできませんので、あなたがより多くだけのWebViewよりも持っているように、より複雑であるが、それは基本的な考え方です。そして、そのHTMLファイル内の画像を参照するために、私のようなので、<img>
タグを使用します:
<img src="res/drawable/icon.png"/>
あなたのためにその仕事していますか?
user302750,
貴方法が間違っています。 res/drawable/banner300.jpg
すべき file:///android_res/drawable/banner300.jpg
.
banner300.jpg
できるのは以下の場所にあるお客様のプロジェクトには、androidを自動的に負荷の一つのデバイスだ。
res/drawable/banner300.jpg
res/drawable-ldpi/banner300.jpg
res/drawable-mdpi/banner300.jpg
res/drawable-hdpi/banner300.jpg
res/drawable-xhdpi/banner300.jpg
の assets
フォルダがジェネリックの資源が必要なアプリケーションです。一例が、XSLテンプレートのものです。
MikeNereson、ご回答問題についても設備は、施設内または近辺に描資源に含まれる res
ディレクトリです。
以下に例を示しますから、自分のプロジェクト.Html出力し、まさにこのように:
<img src="file:///android_res/drawable/stats_btn.png"/>
ご使用の場合は ldpi
装置を取得します。 ldpi
画像を使用する場合は、 hdpi
または mdpi
, 人にとって適切な方です。Androidを解決す file:///android_res/drawable/stats_btn.png
で、かつ以下のいずれかの資源をいった。
./res/drawable-ldpi/stats_btn.png
./res/drawable-hdpi/stats_btn.png
./res/drawable-mdpi/stats_btn.png
私のテストパスから、「ファイル:///android_res/drawable/q1.png」のみ2.2以降で動作します。エラーが見つかりませんファイルを与える2.1。資産へのリソースの移動動作しますが、あなたが描画可能な機能(あなたは、各フォルダ内の画像のコピーが必要だろうという意味...)を利用したい場合には、本当に現実的ではありません。
私は正確に同じ問題を抱えているが、どちらもres/drawable
の画像ファイル置く(私が最初に作成する必要がありました、描画可能-hdpi、-ldpiと-mdpiは、既存の持っていたhust I)またはfile:///asset/
のURLは私のために働い使用します。
ここで私は何をすべきかです。
活動:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
String summary = "<html><body><div style=\"background:red; width:300px; height:50px;\"></div><img src=\"res/drawable/banner300.jpg\"/></body></html>";
mWebView.loadData(summary, "text/html", "utf-8");
次にres/drawable
に私がbanner300.jpgを置く - それは表示されません。任意のアイデア?
あなたはあなたのようなドローアブルをロードし、あなたのコードのどこだろう... http://developer.android.com/guide/topics/resources/drawable -resource.htmlする
Resources res = getResources();
Drawable drawable = res.getDrawable(R.drawable.myimage);
また@MikeNeresonアンドロイドを使用して、あなたは直接の資産ディレクトリやSDカードに配置されているRAWファイルにのみアクセスすることができます。