FB Litho:如何为文本设置自定义字体

FB Litho: How to set custom font for Text

我的问题是如何在 Facebook 的 UI 框架中为 Text 组件设置自定义字体 Litho?

以下是我的Text组件:

 Text.create(componentContext)
                .flexGrow(1f)
                .verticalGravity(VerticalGravity.CENTER)
                .text("MY APP")
                .textSizeDip(25)
                .textAlignment(Layout.Alignment.ALIGN_CENTER)

要使用 typeface 道具,您必须首先获得一个 Typeface 对象,如果您可以使用 Support Library v26,这会容易得多,它引入了 Fonts in XML ...即使在你的 onCreateLayout 方法中,从 ComponentContext 这样做也很简单(尽管你可能希望缓存 Typeface):

Text.create(c)
    .typeface(ResourcesCompat.getFont(
        c.getApplicationContext, R.font.my_cool_font)
    .text("Check out my cool font")
    .build()

如果您无法访问 Support v26,还有一个 Typeface.Builder class 可用,它为您提供了一些关于如何指定所需字体的选项。