2012-03-30 38 views

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

+2

PS: Làm việc cho TextView, havn't kiểm tra AlertDialog. – noob

+1

Nó hoạt động, cảm ơn bạn. – SuitUp

+1

Đế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 –

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 &lt;b>%2$d new messages&lt;/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