TextView多线

时间:2012-07-20 11:23:26

标签: android 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属性不能正常工作。我做错了什么?

由于

5 个答案:

答案 0 :(得分:3)

我想这是由于android:singleLine="false"是默认值try并将其更改为TRUE 告诉它是否有效。

答案 1 :(得分:0)

同样的问题Android ellipsize multiline textview。这是已知的bug,已经很老了,还没有修复。

有人发布了解决方法Android Textview Multiline Ellipse/,这可能对您(或其他人)有帮助。

答案 2 :(得分:0)

由于你的内容较少,只有两行,所以你编写的代码(xml)完全可以在字符串中输入更多内容然后尝试。

图片enter image description here

答案 3 :(得分:0)

我遇到了与2 TextView类似的问题,其中一个应该有maxLines =&#34; 2&#34;和其他maxLines =&#34; 4&#34;。

无论我添加的ellipsize设置如何,第一行总是在一行上。 第二个没关系,文字正在使用它需要的多行!

这似乎取决于两个因素:

  1. 布局的其他元素
  2. textAppearance(如果设置)可能会破坏/覆盖此设置或singleLine选项
  3. 为了解决这个问题,我添加了直接在文本视图上执行此操作的代码:

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

    这就是诀窍。

答案 4 :(得分:-1)

不要使用ellipsize属性,只需android:maxlines="3"即可。

相关问题