2

Html.fromHtml メソッドを使用して、ヘルプ ファイルに画像を表示しようとしています。

これは私のJavaコードです

            TextView tv = (TextView)findViewById(R.id.text);
        tv.setText(Html.fromHtml(getString(R.string.help), new Html.ImageGetter() {
            @Override
             public Drawable getDrawable(String source) {
                    int id;

                    if (source.equals("top_scrollers.png")) {
                        id = R.drawable.top_scrollers;
                    }
                    else if (source.equals("prices.png")) {
                        id = R.drawable.prices;
                    }
                    else if (source.equals("percentage.png")) {
                        id = R.drawable.percentage;
                    }
                    else if (source.equals("mplus.png")) {
                        id = R.drawable.mplus;
                    }
                    else {
                        return null;
                    }

                    Drawable d = getResources().getDrawable(id);
                    d.setBounds(0,0,d.getIntrinsicWidth(),d.getIntrinsicHeight());
                    return d;
                }
        }, null));

そして、これは私のxmlです

<string name="help">
<![CDATA[
<h1>Help</h1>
<p>
<h3>Getting stone price</h3>
<img src="top_scrollers.png"/>
</p>
]]>
</string>

ご覧のとおり、画像を cdata テキストに配置しています。それらからドローアブルを作成するメソッドを作成しましたが、表示できません。助言がありますか?

4

1 に答える 1

1

TextView の代わりに WebView を使用できます。この解決策を試してください:

1) top_scrollers.png をassetsフォルダーに入れます

2) コンテンツを含むrawフォルダーにyour_html.html を作成します。

<h1>Help</h1>
<p>
<h3>Getting stone price</h3>
<img src="file:///android_asset/top_scrollers.png"/>
</p> 

3) この raw ファイルを文字列として読み取るには、この Android read text raw リソース ファイルを読み取ることができます

4) その後、このテキストを webView にロードできます。

webView.loadDataWithBaseURL("", your_raw_string, "text/html", "utf-8", "");
于 2012-08-25T09:29:51.993 に答える