且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Facebook 开源 Andriod 文本处理库 TextLayoutBuilder

更新时间:2022-08-20 21:19:17

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 在一个后台线程将这些图形绘制到一张图片上,这样可预热图片减少之后的渲染时间。

文章转载自 开源中国社区 [http://www.oschina.net]