我对标准的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字体设置为此字段。然后,在第二行的末尾,我看到点后的符号:
因为它在列表中使用,我看到了一个正方形列表。
我可以在没有大量代码的情况下将其删除吗?
谢谢!
答案 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"