Текст с пользовательским шрифтом и жирным стилем
Я разрабатываю приложение. Я использую пользовательский шрифт. Файл ".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);