10

我正在以编程方式创建具有不同字符串的静态布局,然后将每个字符串应用于位图,然后将其添加到画布中。在被我在 SL 构造函数中定义的固定高度截断之前,SL 最多显示两行。但是没有省略号表示文本比显示的要长。

http://developer.android.com/reference/android/text/StaticLayout.html我看到第三个构造函数末尾有截断参数:

StaticLayout(CharSequence source, int bufstart, int bufend, TextPaint paint, int outerwidth, Layout.Alignment align, float spacingmult, float spacingadd, boolean includepad, TextUtils.TruncateAt ellipsize, int ellipsizedWidth)

我知道我想要TextUtils.TruncateAt.END,但我不知道我应该为bufstartbufend和定义什么ellipsizedWidth。我找不到这个构造函数的任何好的例子,或者它是否有助于实现我的目标。

4

1 回答 1

4

不是 100% 熟悉 Android,但我自己也遇到过同样的问题,这就是我发现的:

  • bufstart - 要包含在布局中的第一个字符(在源代码中)的索引
  • bufend - 要包含在布局中的最后一个字符的索引
  • outerwidth - 我认为包含所有文本的假想框的宽度(我刚刚把它做得非常宽)
  • ellipsizedwidth - 绘图框的宽度,如果超过此值,文本将被修剪

抱歉,我的答案不太自信,但我仍在学习!

于 2013-03-25T12:54:54.750 回答