FB Litho: Как установить собственный шрифт для текста

У меня вопрос, как установить собственный шрифт для Text компонент в структуре пользовательского интерфейса Facebook Litho?

Следующее мое Text составная часть:

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

1 ответ

Решение

Чтобы использовать typeface реквизит, вы должны сначала получить Typeface объект, что значительно проще, если вы можете использовать Support Library v26, которая вводит шрифты в XML... это довольно просто сделать из ComponentContext даже внутри вашего onCreateLayout метод (хотя, вероятно, вы можете кэшировать Typeface):

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

Также есть Typeface.Builder класс доступен, если у вас нет доступа к Support v26, которая дает вам несколько вариантов того, как указать нужный шрифт.

Другие вопросы по тегам