2013-07-22 28 views
12

http://docs.fusioncharts.com/charts/contents/Styles/Font.htmlLàm thế nào để làm cho chuỗi XML đậm, gạch chân, v.v ...?

Tôi đã thử điều này, cùng với rất nhiều thứ nhưng không thực hiện được. Đây là những gì tôi muốn.

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

Tôi muốn định dạng một chút của chuỗi. Nơi chữ viết đậm, tôi muốn chữ đậm ... và giống nhau cho người khác.

Tôi đã thử rất nhiều thẻ ... nhưng không có gì hiệu quả và tôi không thể tìm thấy bất kỳ thứ gì trên Google hoặc SO.

tôi biết làm thế nào để làm điều đó trong một TextView, nhưng đó không phải là những gì tôi muốn ...

tôi gửi một số tài nguyên văn bản để một hoạt động mà thấy nó ... Nếu tôi đã làm điều đó với nhau xem văn bản, tôi sẽ phải tạo một vài trong số chúng, một cái mới cho bất cứ khi nào tôi muốn văn bản in đậm, và đó không phải là rất thanh lịch.

Có cách nào đơn giản thực hiện việc này trong tệp XML không? hoặc một số cách khác?

+0

Một phần của chuỗi phải có thuộc tính như chữ đậm hoặc gạch chân hoặc kích thước lớn hơn ... chỉ là một phần của chuỗi chứ không phải toàn bộ chuỗi. –

Trả lời

3

dụ:

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

b = bold et u = nhấn mạnh ..... vv

+3

Tôi đã nói cụ thể, điều này không hiệu quả. –

+1

Điều này làm việc trong res/values ​​/ strings.XML của bạn, tôi đã thực hiện nó hàng nghìn lần. Nó khác với các thẻ HTML. – MattMatt

+4

Bạn phải sử dụng getText (chuỗi id) thay vì getString –

-4

trong dimens tập tin ghi:

<dimen name="size_edittext">180dp</dimen> 

và trong cách bố trí xml hoặc hoạt động của bạn gọi nó:

android:@dimen/ size_edittext 
+1

Đây không phải là câu trả lời hữu ích. Xóa bài đăng này. –

17

Thử wr apping văn bản được đánh dấu của bạn trong các thẻ CDATA. Ví dụ:

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

Và sau đó sử dụng Html.fromHtml bất cứ nơi nào bạn đang muốn hiển thị nó:

Html.fromHtml(getString(R.string.ss)) 
+0

Điều này làm việc cho tôi rất tốt –

+4

Nó không hoạt động trong Android ... – Raghu

6

Vấn đề này đã được lái xe cho tôi điên cho các lứa tuổi. Đó là một cái gì đó sooo đơn giản mà bạn chỉ muốn nó làm việc !!!

Dù sao tôi đã tìm thấy một câu trả lời ở đây tại http://www.coderzheaven.com/2011/06/19/styling-text-in-android-through-xml/

Điều quan trọng là để tải các tài nguyên như một CharSequence sử dụng getResources().getText(R.string.xxxx) này sẽ giữ lại tất cả các thông tin phong cách và cho phép bạn sử dụng các thẻ kiểu nội tuyến. Lỗi của tôi là sử dụng getString() vì khi tải tài nguyên của bạn getString() sẽ làm cho chuỗi mất tất cả thông tin kiểu của nó.

+1

Hãy nhớ rằng nếu bạn sử dụng getText bạn mất khả năng sử dụng trình giữ chỗ như% s và% d – portfoliobuilder