Cách đặt một phần văn bản thành chữ đậm khi sử dụng setMessage()
của AlertDialog
? Thêm <b>
và </b>
vào số String
của tôi không hoạt động.Làm cách nào để đặt một phần văn bản thành chữ đậm khi sử dụng AlertDialog.setMessage() trong Android?
32
A
Trả lời
68
Bạn cũng cần sử dụng Html.fromHtml()
. Ví dụ:
AlertDialog.setMessage(Html.fromHtml("Hello "+"<b>"+"World"+"</b>"));
Cập nhật:
Hình như Html.fromHtml(String source)
đã được tán thành trong phiên bản Nougat Android mới nhất. Mặc dù việc không dùng nữa không có nghĩa là bạn cần thay đổi mã của mình ngay bây giờ, nhưng thực tiễn tốt là xóa mã không dùng nữa khỏi ứng dụng của bạn càng sớm càng tốt.
Thay thế là Html.fromHtml(String source, int flags)
. Bạn chỉ cần thêm một tham số bổ sung đề cập đến một lá cờ.
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 {
AlertDialog.setMessage(Html.fromHtml("Hello "+"<b>"+"World"+"</b>"));
}
Để biết thêm chi tiết có một cái nhìn tại this answer
1
<string name="abouttxt">"<b>Info</b>\ntexttxtxtxtxt"</string>
này làm việc cho tôi trong xml
11
này page mô tả cách thêm định dạng HTML để dây nguồn.
<resources>
<string name="welcome_messages">Hello, %1$s! You have <b>%2$d new messages</b>.
</string>
</resources>
Và đừng quên sử dụng: Html.fromHtml
AlertDialog.setMessage(Html.fromHtml(getString(R.string.welcome_messages)));
này làm việc cho tôi
PS: Làm việc cho TextView, havn't kiểm tra AlertDialog. – noob
Nó hoạt động, cảm ơn bạn. – SuitUp
Đến đây từ google. Có ai biết làm thế nào để làm điều này thông qua một chuỗi? Chỉ cần thêm vào chuỗi của tôi trong strings.xml không hoạt động –