TextLayoutBuilder
Introduction: An Android library that allows you to build text layouts more easily.
Tags:

Build text Layouts easily on Android.
Features
- Create text
Layouts easily. - Reuse builders to create similarly styled
Layouts. - Cache
Layouts of commonly used strings. - Improve performance by warming up the FreeType cache.
Download
If using Gradle, add this to your build.gradle:
compile 'com.facebook.fbui.textlayoutbuilder:textlayoutbuilder:1.7.0'
or, if using Maven:
<dependency>
<groupId>com.facebook.fbui.textlayoutbuilder</groupId>
<artifactId>textlayoutbuilder</artifactId>
<version>1.7.0</version>
<type>aar</type>
</dependency>
Usage
Set the properties on the
TextLayoutBuilder:TextLayoutBuilder builder = new TextLayoutBuilder() .setText("TextLayoutBuilder makes life easy") .setTextColor(Color.BLUE) .setWidth(400 /*, MEASURE_MODE_EXACTLY */);Call
build()on the builder to get aLayout:Layout layout = builder.build();Use the
Layoutin your code:public class CustomView extends View { private Layout layout; public CustomView(Context context) { super(context); } public void setLayout(Layout layout) { this.layout = layout; } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); // Draw the layout. layout.draw(canvas); } }
Additional Usage
Cache the layouts for commonly used strings by turning on caching in the
TextLayoutBuilder.textLayoutBuilder.setShouldCacheLayout(true);Glyph warming provides significant performance boost for large blurbs of text. Turn this on and pass in a
GlyphWarmerfor theTextLayoutBuilder.textLayoutBuilder .setShouldWarmText(true) .setGlyphWarmer(new GlyphWarmerImpl());Import a style defined in XML into a
TextLayoutBuilderobject.ResourceTextLayoutHelper.updateFromStyleResource( textLayoutBuilder, // builder object context, // Activity context resId); // style resource id
License
TextLayoutBuilder is Apache-2-licensed.
