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 可用,它为您提供了一些关于如何指定所需字体的选项。
我的问题是如何在 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 可用,它为您提供了一些关于如何指定所需字体的选项。