web-dev-qa-db-ja.com

XML文字列を太字、下線などにする方法は?

http://docs.fusioncharts.com/charts/contents/Styles/Font.html

私はこれをいろいろと試しましたが、失敗しました。これが私が欲しいものです。

<string name="ss">Bold. Underlined. Italic. Big. Small</string>

文字列の少しをフォーマットしたいと思います。それが太字で書かれている場合、私はそれを太字にしたい...そして他の人にも同じようにしたい。

私はたくさんのタグを試しました...しかしうまくいきませんでした、そしてGoogleやSOで何も見つけることができませんでした。

テキストビューでそれを行う方法を知っていますが、それは私が望んでいることではありません...

それを表示するアクティビティにテキストリソースを送信しています...異なるテキストビューでそれを行った場合、いくつかのテキストビューを作成する必要があります。 。

XMLファイルでこれを簡単に行う方法はありますか?または他の方法?

13
user2599101

マークアップしたテキストをCDATAタグでラップしてみてください。例えば:

<string name="ss"><![CDATA[<b>Bold.</b> <u>Underlined.</u> <i>Italic.</i> <big>Big.</big> <small>Small</small>]]></string>

そして、表示したい場所ならどこでもHtml.fromHtmlを使用します。

Html.fromHtml(getString(R.string.ss))
19
jblack

この問題は私を長年狂わせてきました。それはあなたがそれを働かせたいだけのとてもシンプルなものです!!!

とにかく私はここで答えを見つけました http://www.coderzheaven.com/2011/06/19/styling-text-in-Android-through-xml/

重要なのは、getResources().getText(R.string.xxxx)を使用してリソースをCharSequenceとしてロードすることです。これにより、すべてのスタイル情報が保持され、インラインスタイルタグを使用できるようになります。私のミスはgetString()の使用でした。これは、リソースをロードするときにgetString()によって文字列のスタイル情報がすべて失われるためです。

6
Uwais Iqbal

例:

<string name="ss"><font size="15"><b>Parrainage</b></font><u>subscribe</u></string>

b =太字et u =下線..... etc

3
redIntent

これは私のために働いています。

<string name="welcome_messages">Hello, %1$s! You have &lt;b>%2$d new messages&lt;/b>.</string>

txt.setText(Html.fromHtml(getString(R.string.welcome_messages)));

詳細は公式サイトをご覧ください: https://developer.Android.com/guide/topics/resources/string-resource.html#StylingWithSpannables

2
Tariqul