0

构造DynamicLayout函数有一个base参数和一个display参数,两者都是CharSequence. (StaticLayout相比之下,缺少这个。)

DynamicLayout (CharSequence base, 
                CharSequence display, 
                TextPaint paint, 
                int width, 
                Layout.Alignment align, 
                float spacingmult, 
                float spacingadd, 
                boolean includepad, 
                TextUtils.TruncateAt ellipsize, 
                int ellipsizedWidth)

参数是什么display意思?文档 什么也没说。我查看了源代码,我看到了 anmBase和 anmDisplay但我无法弄清楚它们之间的区别。我最好的猜测是这display与省略号的文本有关,尽管为什么需要传入两个不同的字符序列是我无法理解的。

最基本的构造函数缺少参数(在源代码display中设置为等于),因此我假设提供了某种可选功能。它是什么?basedisplay

4

1 回答 1

2

TextView当有一个附加的时,它与不同的参数一起使用TransformationMethod,例如在<EditText android:password="true"/>.

DynamicLayout将更改侦听器附加到基本文本,但否则会在转换后的文本上执行所有布局。因此,当基础文本被编辑时,它会收到通知,并会在转换后的文本中更新受影响范围的布局。

base=时display,它正在关注相同的更改和计算布局CharSequence。这是未转换文本的预期行为。

于 2017-04-28T03:37:04.023 回答