TextView椭圆形和破碎的符号

时间:2012-06-20 09:51:01

标签: android android-layout

我对标准的android ellipsize机制有一些问题。

我的textview xml布局是下一个:

<TextView
        android:id="@+id/something"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/message_test_text"
        android:lines="2"
        android:ellipsize="end"
        android:textColor="@drawable/dialogs_text_selector"
 />

然后在代码中我将Helvetica字体设置为此字段。然后,在第二行的末尾,我看到点后的符号:

Broken symbol

因为它在列表中使用,我看到了一个正方形列表。

我可以在没有大量代码的情况下将其删除吗?

谢谢!

5 个答案:

答案 0 :(得分:6)

存在问题logged here。在TextView中使用ListView和ellipsize时,很多人都遇到了一些或其他问题。有很多解决方法建议将textview更改为单行,但是你无法使用它。

尝试设置android:maxLines="2"属性。

更新

在将字符串设置为textview之前,使用TextUtils.ellipsize API手动椭圆化字符串。查看此API返回的椭圆化字符串是否在末尾包含方形字符。

用法示例代码:

TextPaint tp = new TextPaint();
tp.setTextSize(float textSize);
tp.setTypeface(Typeface typeface);
Charsequence elipText;
elipText = TextUtils.ellipsize ( text, tp, avail, TextUtils.TruncateAt.END);
textview.setText(elipText);

答案 1 :(得分:4)

这里的问题我不认为这是你的代码。问题是您的.tff文件缺少ellipsize字符,因此会显示square。你的字体不是......让我们说mobile optimized

答案 2 :(得分:3)

班级here很好地解决了问题

答案 3 :(得分:3)

  

然后在代码中我将Helvetica字体设置为此字段

希望您已为此字体支付了许可费用。否则,请不要分发它。

  

然后,在第二行的末尾,我看到点后面的符号坏了:

之前已经介绍过,例如:Android How to get rid of question mark at end of ellipsize

答案 4 :(得分:2)

Hey Roman在XML文件中使用此属性并检查

android:singleLine="true"