Как применить два разных шрифта для TextView? - PullRequest
0 голосов
/ 26 марта 2020

Мой случай такой же, как Android - три предложения, два стиля, один TextView. Разница лишь в том, что я хочу установить пользовательский шрифт для всего текста. Я включил roboto Font в качестве активов в моем проекте и хочу применить этот шрифт к TextView, первая часть текста будет roboto_LIGHT и средняя часть roboto_NORMAL и оставшаяся часть roboto_LIGHT снова. Любые предложения, как это можно сделать?

Текст необходим в следующем формате. Пользовательский текст с разными стилями и одним текстом.

screenshot

1 Ответ

0 голосов
/ 26 марта 2020

Вы можете использовать некоторые html теги, такие как <b>, для жирного шрифта со следующим кодом:

textView.setText(Html.fromHtml("Login to the <b>Web Wallet</b> on PC or MAC"));

Затем вы можете определить свое собственное семейство шрифтов, как в Как создать собственное семейство шрифтов жирным шрифтом

<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:android="http://schemas.android.com/apk/res/android">
    <font
        app:fontStyle="normal"
        app:fontWeight="400"
        app:font="@font/roboto_LIGHT" />
    <font
        app:fontStyle="normal"
        app:fontWeight="700"
        app:font="@font/roboto_NORMAL" />
</font-family>

Вес 700 - это шрифт для жирного шрифта. И затем вы должны применить это созданное семейство шрифтов к TextView:

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:fontFamily="@font/my_custom_font"/>

Или вы можете добавить 3 TextViews в ConstraintLayout и дать им некоторые ограничения, чтобы они находились в нужных вам позициях.

...