#android #android-fonts
#Android #android-шрифты
Вопрос:
У меня есть текст в моем приложении для Android, я использую пользовательский шрифт, и для каждого выделенного жирным шрифтом слова в тексте я хочу использовать выделенную жирным шрифтом версию моего шрифта.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc ut feugiat neque. Pellentesque vel lorem ut tortor varius congue. In arcu nibh, sodales quis tempus in, hendrerit sit amet ante. Nam eu massa a purus tincidunt condimentum. Integer at turpis nec elit elementum rutrum. Nunc varius sem eu velit fermentum volutpat.
Как мне это сделать? Я знаю, что могу добавить html-тег в файл ресурсов следующим образом:
<string name="register"><b>Copyright</b></string>
Но при этом используется жирная версия шрифта по умолчанию, а не моего пользовательского шрифта.
Я использую эту библиотеку = https://github.com/neopixl/PixlUI чтобы установить шрифт в xml следующим образом
<com.neopixl.pixlui.components.textview.TextView
android:id="@ id/edt_birthday"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Birthday"
pixlui:typeface="AvenirNextCondensed_Regular.ttf" />
Ответ №1:
Вы можете использовать Html.fromHtml()
метод с <strong>
тегом при передаче вашего String
. Но это означает, что вам нужно View
динамически настраивать текст.
Например:
String myString = Html.fromHtml("lorem <strong>dolor sit amet</strong>");
myTextView.setText(myString);
Он отобразит:
lorem dolor sit amet
Ответ №2:
Все, что вам нужно сделать, это динамически настраивать содержимое в TextView
Сначала добавьте TextView в макет, где вам нужно, и используйте этот код и установите эту строку в свой textview:
String styledText = "<font color='#000000'>" " Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc ut feugiat neque." "</font>" "<br />" "<b>" "Pellentesque " "</b>" "<font color='#000000'>" "vel lorem ut tortor varius congue. In " "</font> </small>" "<b>" "arcu " "</b>" "<font color='#000000'>" " nibh, sodales quis tempus in, hendrerit sit amet ante. Nam eu massa a purus tincidunt condimentum. Integer at turpis nec elit elementum rutrum. Nunc varius sem eu velit fermentum volutpat." "</font>";
textview.setText(Html.fromHtml(styledText));`