9

我对标准的 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 字体设置为此字段。然后,在第二行的末尾,我看到点后的破符号:

破碎的符号

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

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

谢谢!

4

5 回答 5

6

这里记录了一个问题。许多人在使用TextViewellipsize时会遇到一些或其他问题ListView。有许多解决方法建议将 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);
于 2012-06-24T13:59:07.003 回答
4

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

于 2012-06-26T08:07:08.927 回答
3

在这里上课很好解决问题

于 2012-06-24T17:30:41.153 回答
3

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

希望你已经为这个字体支付了许可证。否则,请勿分发。

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

这个之前已经讲过了,比如:Android How to get rid of question mark at end of ellipsize

于 2012-06-28T14:11:23.040 回答
2

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

android:singleLine="true"
于 2012-06-20T10:17:27.883 回答