2011-11-12 43 views
36

Nút layout_width của tôi được đặt thành match_parent.làm cách nào tôi có thể hiển thị nhiều dòng văn bản trên một nút

Để hiển thị dòng đa vào nút, tôi đã cố gắng:

  • chèn '\ n' vào văn bản trên nút

  • thiết Singleline bộ sai Maxlines đến 2 hoặc 3

  • convert html từ Html.fromHtml

Không có gì đã làm việc. '\ n' xuất hiện dưới dạng hình vuông nhỏ trên nút trong khi hiển thị một dòng văn bản.

Có ai có bất kỳ ý tưởng nào tại sao điều này xảy ra và cách tôi có thể khắc phục sự cố này?

CẬP NHẬT: Tôi vừa phát hiện ra mình đang sử dụng nút tùy chỉnh có bản vẽ văn bản riêng. Đó là lý do. Xin lỗi vì sự nhầm lẫn. Tôi chỉ phạt mình bằng cách đập đầu mình.

+0

Tôi có cùng một vấn đề với một TextView đơn giản – Borzh

Trả lời

73

Nếu bạn đang cố gắng thêm một dòng mới trong tệp XML bố cục:

Sử dụng 
 (dòng mới)

android:text="Hi
Hello" 

Nếu bạn đang cố gắng thêm dòng mới bằng mã, chỉ cần sử dụng '\ n', giống như trong bất kỳ văn bản nào khác.

Nếu bạn không thể thấy dòng thứ hai, có thể là Nút của bạn không có đủ chiều cao. IE, trong trường hợp của tôi, bố cục chứa nút có độ cao cố định chỉ xảy ra để làm cho nút của tôi hiển thị hoàn hảo một dòng văn bản.

+0

Không hoạt động trên VirtualBox x86, hiển thị 2 hình vuông. – Borzh

+0

sử dụng \ n trong strings.xml – anshulkatta

21

Tôi chỉ cố gắng và nó làm việc:

1) Xác định trong ../res/values/strings.xml:

<string name="multilines">Line1Line1\nLine2Line2</string> 

2) Tham khảo nó trong file layout:

<Button 
    android:id="@+id/btn_multilines" 
    android:text="@string/multilines" 
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent"> 
</Button> 
+0

Không hoạt động trên VirtualBox x86, hiển thị 2 hình vuông. – Borzh

0

Trong trường hợp bạn muốn thực hiện chương trình đó, bạn có thể sử dụng System.getProperty("line.separator") trong chuỗi để thay đổi dòng. Như sau:

String mybuttontext=line1+System.getProperty("line.separator")+line2; 

và sau đó đặt chuỗi này làm văn bản nút.

Các vấn đề liên quan