web-dev-qa-db-ja.com

AndroidでAlertDialog.setMessage()を使用するときにテキストの一部を太字に設定するにはどうすればよいですか?

AlertDialogsetMessage()を使用するときにテキストの一部を太字に設定する方法は? <b></b>Stringに追加しても機能しません。

47
SuitUp

Html.fromHtml()も使用する必要があります。例えば:

AlertDialog.setMessage(Html.fromHtml("Hello "+"<b>"+"World"+"</b>"));

更新:
Looks Html.fromHtml(String source) は、最新のAndroid Nougatバージョンで廃止されました。廃止されたからといってコードを変更する必要があるわけではありませんが、廃止されたコードをアプリからできるだけ早く削除することをお勧めします。
置換は Html.fromHtml(String source, int flags) です。フラグに言及するパラメータを追加するだけです。

if (Android.os.Build.VERSION.SDK_INT >= Android.os.Build.VERSION_CODES.N) {
   AlertDialog.setMessage(Html.fromHtml("Hello "+"<b>"+"World"+"</b>", Html.FROM_HTML_MODE_LEGACY));
} else {
   @Suppress("DEPRECATION")
   AlertDialog.setMessage(Html.fromHtml("Hello "+"<b>"+"World"+"</b>"));
}

詳細については、 この回答 をご覧ください。

94
noob

この page は、HTML文字列をリソース文字列に追加する方法を説明しています。

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

使用することを忘れないでください:Html.fromHtml

AlertDialog.setMessage(Html.fromHtml(getString(R.string.welcome_messages)));

これは私のために働く

20
elirigobeli
<string name="abouttxt">"<b>Info</b>\ntexttxtxtxtxt"</string>

これはxmlで私のために働く

0
chris

誰かが単一の文字列のみを追加したい場合:

<string name="abouttxt">&lt;b>Enter license key&lt;/b></string>

Alertdialogコードにこの行を追加します。

dialog.setTitle(Html.fromHtml(getString(R.string.abouttxt)))
0
Prajwal W