2011-08-11 11 views
6

Tôi đang gặp phải sự cố về android: ellipsize không hoạt động trong TextView. Nhưng để hoạt động tốt cho android: singleLine.android: singleLine của TextView là nolonger trong "Không được chấp nhận"?

Tôi đã nghe nói rằng android: singleLine là "Không được chấp nhận", nhưng nó không được viết trong tham chiếu trong Nhà phát triển Android.

https://developer.android.com/reference/android/widget/TextView.html#attr_android:singleLine

android: singleLine không còn trong "Deprecated"?

THÊM: Tôi đã tự giải quyết vấn đề này.

Khi nó quay ra, android: scrollHorizontally = "true" của thuộc tính TextView không được phản ánh trong tệp xml.

Vì vậy, tôi đã cố gắng sử dụng phương pháp setHorizontallyScrolling, nó đã hoạt động.

*xml:* 
<TextView 
    android:id="@+id/text" 
    android:ellipsize="end" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
/> 

*code:* 
TextView textView = (TextView)findViewByID(R.id.text); 
textView.setHorizontallyScrolling(true); 

nhưng, tôi thêm "android: inputType =" text" trong xml như sau, nó không hoạt động Xin hãy cẩn thận

*xml:* 
<TextView 
    android:id="@+id/text" 
    **android:inputType="text"** 
    android:ellipsize="end" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
/> 
+0

thử câu trả lời được cập nhật ... – ngesh

+0

Xin lỗi ntc, tôi đã xóa câu trả lời của bạn do nhầm lẫn. Tôi đã thử android: maxLines = "1", nhưng không hoạt động. Tôi đã thử sử dụng android: maxLines = "1" và android: scrollHorizontally = "true" và tôi cũng sử dụng android: lines thay vì android: maxLines, nhưng không hoạt động. – zaki

+0

Bản sao có thể có của [Thuộc tính xml singleLine không được chấp nhận hay không trong Android?] (Http://stackoverflow.com/questions/30028697/is-the-xml-attribute-singleline-deprecated-or-not-in-android) – bummi

Trả lời

0

Hãy thử cũng thiết lập các đầu vào IME để ngắn.. văn bản hoặc một cái gì đó như thế, nó có thể hoạt động, có rất nhiều vấn đề với elipsize mà tôi cũng đã có tại một điểm và không quản lý để giải quyết.Trong trường hợp của tôi nó đã được kết nối với editTexts chủ yếu và các thành phần khác lấy đi tập trung cần phải lấy nét để lấy Elipsize hoạt động.

+0

cảm ơn DArkO, tôi đã thử nó, nhưng tôi không thể giải quyết được. – zaki

+0

Thật không may tôi không nghĩ rằng bạn sẽ nếu có bất cứ điều gì lấy trọng tâm đi. Bằng cách này tôi giả định tất cả các thời gian mà bạn muốn đạt được hiệu ứng marquee với nó. Tôi nhớ có một số ví dụ trong đó mọi người sử dụng hoạt ảnh để thực hiện việc này. – DArkO

+0

Hãy thử hai liên kết này xem nơi họ dẫn: http://stackoverflow.com/questions/2160619/android-ellipsize-multiline-textview, http://stackoverflow.com/questions/1827751/is-there-a-way- to-make-ellipsize-marquee-always-scroll – DArkO

0

Tôi không chắc chắn nếu android: singleLine của TextView là nolonger trong “Deprecated”, bởi vì bên trong constructor phản đối của TextView, có một bình luận liên quan đến cấu hình singleLine với ..

// Nếu được đặt, các loại đầu vào ghi đè những gì đã được đặt bằng cờ đơn lẻ không dùng nữa.

singleLine =! IsMultilineInputType (inputType);

Source code: khoảng 1156L của core/java/android/widget/TextView.java - platform/frameworks/base - Git at Google

Kể từ khi Google lại một bình luận nói rằng lá cờ singleLine bị phản đối, (mặc dù nó không được viết trong các trang web phát triển) nó có thể là như vậy.