2009-11-09 18 views
10

Bir TextView var. Mevcut genişliğinden daha uzunsa elipsin olmasını istiyorum. Girdi dizisi boşluk olmadıkça bu işe yaramaz ... Bu çalışmanın bir örneğini herkes sağlayabilir mi? Bunlardan = "1" scrollHorizontally = "false"Android'de çalışmak için üç nokta üstesinden gelemiyorum

hiçbiri maxLines herhangi bir etkisi = "true"

tekli: Ben farklı kombinasyonlarını denedim. Yine, içinde boşluk olmayan bir dize sağladığımda, üç nokta doğru şekilde görünür. Neyi kaçırıyorum? 1.5, 1.6, 2.0, hepsi aynı problem üzerinde denedim.

+0

Hızlı ve hacky çözüm yerine düzenli alanların olmayan boşluk kullanarak dize görüntülemek için olabilir. –

cevap

12

Ellipsize bozuldu

Teşekkür böylece küçük kesmek kullanmak zorunda (onlar tekrarlanabilir değil iddia, özellikle de vote on the bug report gidin). Kullanmak istediğiniz herhangi bir şey üzerinde

. Ayrıca, singleLine kullanmayın, 1,5'den beri kullanımdan kaldırılmıştır. Bu ben SDK ver4 üzerinde çalışmaya alabilir tek isim oldu

textView.setSingleLine(); 
TruncateAt truncate = TruncateAt.END; 
textView.setEllipsize(truncate); 
+0

[Hata raporunda oy] bir bağlantı olması gerekiyordu? –

+0

Onarıyorum ... :) –

+0

Bu bağlantı için teşekkürler. # 9 ile çalışır. – bgs

2

deneyin

android:ellipsize="end" 
android:singleLine="true" 

(Evet buna önerilmemektedir ama olmadan kaldım diyor biliyorum Bir seçim)

11

: ile

+1

Bu benim için de işe yarayan tek combo oldu –

0

Basit Çözüm.

int limit = 9; 
if (str.length() > limit) { 
    textView.setText(str.substring(0, limit)+"..."); 
} else { 
    textView.setText(str); 
} 
+1

Benim için çalışılan xml özelliklerinin hiçbir kombinasyonu. Ne zaman harcayacağımı, ne zaman harcayacağımı% 100 bilmek ve zaman kazanmak. Teşekkürler. –

+0

Genel olarak Android Geliştirme deneyimini özetliyor – menawi

İlgili konular