我的长文本包含看起来像"某事物"的名字.这个长文本显示在TextView中.问题是"某事 - 某事"被打破了.
我找到了unicode角色U + 2011 NON-BREAKING HYPHEN.但是从Android 3.0开始,它看起来像字体支持这个unicode字符.但是我支持Android 2.1,而是显示替换字符.
我看过类Spannable,但我没有找到如何定义不间断的文本块.也许我忽视了一些事情
我通过实现ReplacementSpan在单个块中渲染文本来解决文本块的破坏问题。这是代码:
public class NonbreakingSpan extends ReplacementSpan {
@Override
public void draw(
Canvas canvas,
CharSequence text, int start, int end,
float x, int top, int y, int bottom,
Paint paint) {
canvas.drawText(text, start, end, x, y, paint);
}
@Override
public int getSize(
Paint paint,
CharSequence text, int start, int end,
FontMetricsInt fm) {
return Math.round(paint.measureText(text, start, end));
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1905 次 |
| 最近记录: |