2012-10-25 29 views
10

Gần đây, tôi đã triển khai chủ đề holo vào ứng dụng Android của mình. Sau khi làm điều này, bất kỳ spinner mà tôi có, nơi thả xuống mục là nhiều dòng dài, sẽ không quấn văn bản vào nhiều dòng. Mỗi mục thả xuống được giữ tất cả trên một dòng và cắt ngắn đến một độ dài nhất định.Chủ đề Android Holo không bao gồm nhiều mục thả xuống dòng spinner

Đây là xml của tôi cho thả xuống nguồn lực cho các spinner

<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@android:id/text1" 
style="?android:attr/spinnerDropDownItemStyle" 
android:singleLine="false" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:ellipsize="none" /> 

này hoạt động trên các phiên bản cũ của Android trước ICS và chủ đề holo.

Có ai khác đã gặp sự cố này không?

+0

tìm thấy giải pháp nào cho vấn đề này? –

+0

Tôi có cùng một vấn đề. Tôi có máy quay đa cấp ngoại trừ phiên bản 4.0.4. Chắc chắn muốn tìm giải pháp cho lỗi này. –

+0

Xem câu trả lời này: http://stackoverflow.com/questions/14139106/spinner-does-not-wrap-text-is-this-an-android-bug/14392369#14392369 –

Trả lời

0

Như tôi đã đề cập trong: Spinner does not wrap text -- is this an Android bug?

Tôi nghĩ rằng có lỗi trên Android. Bạn có thể thử điều này. Hủy bỏ các không gian từ các văn bản và sau đó hiển thị nó sẽ làm việc tốt. Nếu độ dài của chế độ xem văn bản là < của chuỗi, nó bỏ qua tất cả ký tự sau khoảng trắng. Đối với một công việc xung quanh bạn có thể thử này:

thêm một tập tin vào res/thư mục bố trí tên multiline_spinner_dropdown_item.xml với mã mẫu:

<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@android:id/sample_text" 
style="?android:attr/spinnerDropDownItemStyle" 
android:singleLine="false" 
android:layout_width="match_parent" 
android:layout_height="?android:attr/listPreferredItemHeight" 
android:ellipsize="marquee" /> 

và khi bạn đang tạo các spinner tạo ra nó từ cách bố trí này .

Cái gì như:

ArrayAdapter.createFromResource(this, items, R.layout.multiline_spinner_dropdown_item); 

Về cơ bản, sao chép bố trí android.R.layout.simple_spinner_dropdown_item vào dự án và điều chỉnh cách bố trí bằng cách thiết lập thuộc tính singleLine false trong CheckedTextView.

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