12月16日,Facebook 新开源了一个 Andriod 文本处理库 TextLayoutBuilder。
TextLayoutBuilder 使用和 builder 模式来配置创建 Layout 所需的参数。这个 Builder 类和 TextView 的很相似。调用 build(), TextLayoutBuilder 即可根据设定的参数创建一个文本 Layout。
轻松创建文字布局。
相似风格的布局,可重用 builder。
可缓存常用文字布局。
FreeType 缓存预热。
Layout layout = new TextLayoutBuilder()
.setTextAppearance(context, resId)
.setText("TextLayoutBuilder makes life easy")
.setWidth(400 /*, MEASURE_MODE_EXACTLY */)
.build();
特性:
Builder
TextLayoutBuilder 使用 builder 模式配置创建 Layout所需的参数,设置 StaticLayout 参数的日子一动不复返了。
缓存
调用 build(),对于一样的参数,将会返回同一个 Layout,对于通用 / 常用的文字布局,这减少了重复调用的消耗。
FreeType 预热
对于 4.0+ 设备, TextLayoutBuilder 可预热 FreeType 字体的缓存。TextLayoutBuilder 在一个后台线程将这些图形绘制到一张图片上,这样可预热图片减少之后的渲染时间。