4

我正在开发一个应用程序。我正在使用自定义字体。“.ttf”文件自定义文本视图的字体。我将代码用作:

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

现在需要的是:我想像上面那样自定义文本以及.java 文件中的BOLD样式。

如何做到这一点请建议。以及可以对字体进行哪些其他样式或自定义,请提出建议。

4

5 回答 5

15

你可以用

textview.setTypeface(tfArchitectsDaughter, Typeface.BOLD);

注意:当然你也可以ITALIC使用BOLD_ITALIC

于 2013-03-14T11:41:37.597 回答
12

使用 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);

您还可以在 textview 中为文本使用不同的颜色。

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。该链接为您提供了更多使用可跨字符串进行样式设置的示例。

于 2013-03-14T11:45:51.703 回答
5

您可以使用以下代码将文本设置为粗体

创建一个单独的文件作为 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文件中,如果你想让文本在can action之后变为粗体意味着

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

myTextView.setTextAppearance(getApplicationContext(), R.style.boldText);
于 2013-03-14T11:50:14.547 回答
0

您可以将文本加粗为:

TextView.setTextAppearance(getApplicationContext(), R.style.boldText);
于 2014-02-04T10:00:22.727 回答
0

使用使文本粗体的代码为:

TextView.setTextAppearance(getApplicationContext(), R.style.boldText);
于 2013-03-25T13:11:58.007 回答