1. ホーム
  2. android

[解決済み] 文字列リソースにHTML?

2022-07-21 02:32:06

質問

文字列リソースにエスケープされたHTMLタグを入れることができるのは知っています。しかし、Contactsアプリケーションのソースコードを見てみると、HTMLをエンコードする必要がない方法があることがわかります。Contactsアプリケーションからの引用 文字列.xml :

<string name="contactsSyncPlug"><font fgcolor="#ffffffff">Sync your Google contacts!</font> 
\nAfter syncing to your phone, your contacts will be available to you wherever you go.</string>

残念ながら、似たようなことを試すと ( Hello, <b>World</b>! ), getString() はタグを除いた文字列を返します( logcat ). なぜでしょうか?どうすれば、タグやすべてを含むオリジナルの文字列を取得できるのでしょうか?Contactsアプリケーションはどのようにそれを行っているのでしょうか?

どのように解決するのですか?

どうやら getString() はまさにそれです。 文字列 . これを使うには getText() (そして、これ以上 Html.fromHtml() )、すなわち

mTextView.setText(getText(R.string.my_styled_text));

しかし、どうやら android:text プロパティはちょうど同じことをするようで、以下は同等です。

<TextView android:text="@string/my_styled_text" />

そして、その中に strings.xml :

<string name="my_styled_text">Hello, <b>World</b>!</string>