Текст с пользовательским шрифтом и жирным стилем

Я разрабатываю приложение. Я использую пользовательский шрифт. Файл ".ttf" для настройки шрифта текстового представления. Я использовал код как:

Typeface tfArchitectsDaughter = Typeface.createFromAsset(getAssets(), "fonts/ArchitectsDaughter.ttf");
textview.setTypeface(tfArchitectsDaughter);

Теперь нужно: я хочу настроить текст так же, как я делал выше, а также стиль BOLD в файле.java.

Как это сделать, пожалуйста, предложите. И какие другие стили или настройки могут быть сделаны на шрифте, пожалуйста, предложите.

Спасибо.

5 ответов

Решение

Используйте SpannableString. Также взгляните на этот урок. http://blog.stylingandroid.com/archives/177.

String tempString="Copyright";
TextView text=(TextView)findViewById(R.id.text);
SpannableString spanString = new SpannableString(tempString);
spanString.setSpan(new UnderlineSpan(), 0, spanString.length(), 0);
spanString.setSpan(new StyleSpan(Typeface.BOLD), 0, spanString.length(), 0);
spanString.setSpan(new StyleSpan(Typeface.ITALIC), 0, spanString.length(), 0);
text.setText(spanString);

Вы также можете использовать разные цвета для текста в текстовом представлении.

SpannableString text = new SpannableString("Lorem ipsum dolor sit amet");  
// make "Lorem" (characters 0 to 5) red  
text.setSpan(new ForegroundColorSpan(Color.RED), 0, 5, 0);  
textView.setText(text, BufferType.SPANNABLE);

http://www.chrisumbel.com/article/android_textview_rich_text_spannablestring. Ссылка дает вам еще один пример стиля с использованием spannable строки.

Вы можете достичь этого с

textview.setTypeface(tfArchitectsDaughter, Typeface.BOLD);

Примечание: наверняка вы также можете использовать ITALIC а также BOLD_ITALIC

Вы можете использовать код ниже, чтобы сделать текст жирным

создать отдельный файл как style.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="boldText">
        <item name="android:textStyle">bold|italic</item>
        <item name="android:textColor">#FFFFFF</item>
    </style>

    <style name="normalText">
        <item name="android:textStyle">normal</item>
        <item name="android:textColor">#C0C0C0</item>
    </style>
</resources>

И в вашем Java-файле, если вы хотите, чтобы текст был жирным шрифтом после того, как действие может означать

Typeface tfArchitectsDaughter = Typeface.createFromAsset(getAssets(), "fonts/ArchitectsDaughter.ttf");
textview.setTypeface(tfArchitectsDaughter);

myTextView.setTextAppearance(getApplicationContext(), R.style.boldText);

Используйте код для выделения текста жирным шрифтом:

TextView.setTextAppearance(getApplicationContext(), R.style.boldText);

Вы можете сделать свой текст жирным шрифтом как:

TextView.setTextAppearance(getApplicationContext(), R.style.boldText);
Другие вопросы по тегам