2009-11-03 7 views
100

String, TextView genişliğinden daha uzunsa, otomatik olarak sonraki satıra kaydırılır. Bunu android:singleLine (kullanımdan kaldırılmış) kullanarak veya android:inputType="text" ayarlayarak engelleyebilirim. Şimdi ihtiyacım olan şey, String'un "..." ile son 3 karakterini değiştiren bir şey. Tek boşluklu yazı tipi kullanmadığımdan bu, String numaralı telefonumda kullanılan harflere bağlı olarak her zaman farklı olacaktır. Bu yüzden, bir String'in son 3 karakterini TextView numaralı telefondan almanın ve değiştirmenin en iyi yolunun ne olduğunu merak ediyorum. Belki de Android çerçevesinde uygulanan bir şey var, çünkü bu ortak bir sorun olmalı.Android: TextView otomatik olarak kesiliyor ve son 3 karakterle değiştiriliyor. String

cevap

222

Bir metin görünümünün "ellipsize" özelliğini kullanmak mümkün olmalıdır: Ayrıca çok düzenine yerçekimi değerlerini uygulamak gerekebilir

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/text_mytext" 
    android:ellipsize="end" 
    android:maxLines="1" 
/> 

; Bazen onlar olmadan "otomatik germe" görüşlerini gördüm.

+0

+1 kullanabilirsiniz - Kullanıcı yapmak istediği tam olarak ne bunu kendisi – I82Much

+0

Mükemmel rulo gerek kalmadan. Teşekkürler. Bunu daha önce denedim, ama işe yaramadı çünkü android kullanıyorum: inputType = android yerine "text": singleLine = "true" (bunun yerine kullanılması gereken). Ama şimdi android ile sadık kalacağım: singleLine = "true". Muchas gracias. – znq

+30

Hala "..." eklemiyor. Benim için bu soru tam olarak cevaplanmadı! Bu cevap "kısa verilongword" kelimesini "kısa vertex" yapacaktır ve "kısa verylon" yapamaz ... Bunun üzerine siz ayrılmamış bir özellik kullanmanızı öneririz. – OneWorld

28

Bu sorun için ilginç bir iş-yuvarlak bulundu.

maxLines=1 
ellipsize=end 
scrollHorizontally=true 

Hile, yatay kaydırma hakkında son ifadedir .... bir göz atın. En azından v2.2 üzerinde çalışıyor. programlama yoluyla

ile

+7

Android 4.0 üzerinde çalışmayı durdurmak için görünüyor – caw

+0

İlginç ... bilmek güzel. Başlıkları için teşekkürler Marco. – BonanzaDriver

2

Sen

TextView tx = new TextView(this); 
tx.setTextSize(13); 
tx.setGravity(Gravity.CENTER); 
tx.setTop(90); 
tx.setText("Long text here"); 
tx.setTextColor(Color.BLACK); 
tx.setSingleLine(true); 
tx.setEllipsize(TruncateAt.END);