2009-11-03 45 views
100

如果StringTextView的寬度長,它會自動換行到下一行。我可以通過使用android:singleLine(不建議使用)或設置android:inputType="text"來避免這種情況。我現在需要的是用「...」取代我的String的最後3個字符。由於我沒有使用等寬字體,這取決於我的String中使用的字母。所以我想知道什麼是獲得TextView中字符串的最後3個字符並替換它們的最佳方法。也許在Android框架中已經實現了一些東西,因爲這一定是一個常見問題。Android:TextView自動截斷並替換字符串的最後3個字符

回答

222

您應該能夠使用文本視圖的「ellipsize」屬性:

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

您可能還需要重力值適用於佈局太;我有時看到沒有它們的「自動拉伸」視圖。

+0

+1 - 用戶想要做什麼,而不必滾動它自己 – I82Much 2009-11-03 14:08:00

+0

完美。謝謝。我曾嘗試過,但沒有工作,因爲我使用android:inputType =「text」而不是android:singleLine =「true」(這應該被棄用)。但現在我要堅持使用android:singleLine =「true」。 Muchas gracias。 – znq 2009-11-03 14:08:34

+30

它仍然不添加「...」。對我來說,這個問題還沒有完全解答!這個答案會使「短verylongword」只是「短」而不是「短verylon ...」。最重要的是,你們建議使用不推薦的屬性。 – OneWorld 2010-09-22 12:06:30

28

發現這個問題有趣的工作。

​​

訣竅是關於水平滾動的最後陳述....檢查出來。它至少在v2.2上工作。

+7

似乎停止在Android 4.0上工作 – caw 2012-04-10 16:36:04

+0

有趣......很高興知道。感謝馬可的提醒。 – BonanzaDriver 2012-04-10 22:17:56

2

與編程

您可以使用

​​
相關問題