2012-07-20 54 views
4

我有一個TextView填充了從數據庫中獲取的文本,所以其長度未定義。TextView多行

我已經使用maxline屬性配置了TextView,並將其值設置爲3,因爲我不想要超過3行的文本,並且還使用了ellipsize屬性。

但它無法正常工作。雖然文本大於3行,但它只打印兩行。

<TextView 
    android:id="@+id/etLugar" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignBaseline="@+id/tvLugar"   
    android:layout_marginLeft="15dp" 
    android:layout_toRightOf="@+id/tvLugar" 
    android:text="A very large text than must be shown in the textview, but no more of three lines are going to be shown" 
    android:textColor="@color/foreground1"   
    android:maxLines="3" 
    android:ellipsize="end"   
    android:textSize="12dp" 
    /> 

我不明白maxlines屬性爲什麼不能正常工作。我做錯了什麼?

感謝

+0

用於字符串長度和子字符串來限制:) – iNan 2012-07-20 11:26:20

+0

「android:text'屬性中是否存在'\ n'?只有這是它認爲的新線。 – RTB 2012-07-20 11:26:45

回答

-1

不要使用ellipsize屬性,只是android:maxlines="3"應該工作。

+0

我試過了,但不起作用,顯示兩行 – Eduardo 2012-07-20 12:05:22

+1

好吧,它可以工作,顯示三行,但現在橢圓不顯示 – Eduardo 2012-07-20 12:13:22

+0

您是使用默認字體還是自定義。我遇到了這個問題,橢圓沒有在字體中定義,所以它最終繪製了一個空格。 – JPM 2014-08-12 20:50:04

0

還有同樣的問題Android ellipsize multiline textview。這是已知的錯誤,相當古老,尚未修復。

有人發佈瞭解決方法Android Textview Multiline Ellipse/也許它會幫助你(或其他人)。

+0

您好,我已經嘗試了我在您告訴我的問題中閱讀過的解決方案,但它不起作用。再次,兩條線,但現在它不是橢圓形... – Eduardo 2012-07-20 11:48:04

3

我想這是由於android:singleLine="false"這是默認值嘗試並將其更改爲TRUE 告訴它是否工作。

+0

singleLine已被棄用 – JPM 2016-10-17 21:25:27

0

由於您的內容較少,只有兩行,所以您編寫的代碼(xml)完美地工作,在字符串中輸入更多內容,然後嘗試。

圖像0​​

0

我在與2的TextView一個類似的問題,一方面是應該有MAXLINES = 「2」,而另一MAXLINES = 「4」。

不管我添加的橢圓大小設置如何,第一個總是在一行上。 第二個並不重要,文本使用盡可能多的行!

這似乎取決於兩個因素:

  1. 佈局
  2. 如果設置可能會破壞/覆蓋此設置或單線選項

爲了解決這個問題的textAppearance的其他元素我添加了代碼直接在文本視圖上執行該操作:

tv1.setMaxLines(2); 
tv2.setMaxLines(4); 

And th在做伎倆。