2012-02-16 34 views
6

Tôi vừa cố gắng triển khai hiệu ứng mờ dần cho TextView trong Android 4.0.3; tuy nhiên, nó không hoạt động.Đặt mờ văn bản trong Android 4.0.3

fadingEdge="horizontal" 
singleLine="true" 
ellipsize="marquee" 

Mã này hoạt động hoàn hảo cho 2.3.7 trở xuống, nhưng không hoạt động cho 4.0.3. Tôi tự hỏi tại sao lại như vậy? và cách tạo hiệu ứng mờ dần cho TextView?

Câu hỏi của tôi giống như câu hỏi này: http://groups.google.com/group/android-developers/browse_thread/thread/97131b20de8b2ebd, nhưng chưa có câu trả lời.

+0

Sử dụng setHorizontalFadingEdgeEnabled (true); –

Trả lời

4

Hơi muộn một chút, nhưng điều đó có thể giúp những người có cùng câu hỏi.

Tôi đã có vấn đề này trên điện thoại khác nhau, và nó có thể đến từ rằng:

  • trên 4.0.x Android, có vẻ như rằng TextView phải đặt tiêu điểm, nếu không phai hiệu lực thi hành sẽ không hoạt động . Vì vậy, hãy thử thêm này:

    android: đặt tiêu điểm = "true" android: focusableInTouchMode = "true"

  • nếu điều đó không làm việc, bạn có thể thử android: lines = "1", nhưng tôi nghĩ rằng android: singleLine = "true", không được dùng nữa, hoạt động tốt hơn

  • đôi khi, bạn cần phải lập trình gọi setSelected (true) trên textView để nhận hiệu ứng mờ dần. Vui lòng kiểm tra liên kết này: Is there a way to make ellipsize="marquee" always scroll?

+0

nếu bạn đặt 'android: focusableInTouchMode' thì người dùng phải chạm để nhận tiêu điểm và hiệu ứng mờ dần xảy ra. tuy nhiên, tôi muốn nó hiển thị với hiệu ứng mờ dần như trong GB 2.3.x –

+0

bạn đã thử các kết hợp khác nhau của android: focusable và android: focusableInTouchMode? Nếu nó vẫn không hoạt động, tôi sợ giải pháp duy nhất là lập trình gọi setSelected() trên textView –

+0

tôi biết rằng nếu đặt 'android: focusableInTouchMode', nó sẽ hoạt động miễn là người dùng chạm vào' TextView' theo thứ tự để nhận được sự tập trung và nó sẽ biến thành hiệu ứng mờ dần. ý tôi là trạng thái tự nhiên của 'TextView' nên như thế, không cần chạm. –

1

Tính đến mức API 14 fadingEdge bị phản đối và bỏ qua như vậy để làm mờ dần việc cạnh trên Android 4.0.3 bạn phải sử dụng requiresFadingEdge để thay thế.

+0

requireFadingEdge cũng không hoạt động. Bất kì lời đề nghị nào ! – CoDe

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