更改TextView字体?

时间:2012-09-23 15:47:15

标签: android

如何在Android TextView中更改字体类型?

<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Welcome!"
    android:textSize="20sp"  />

3 个答案:

答案 0 :(得分:6)

您可以使用android:typeface属性。例如:

<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Welcome!"
    android:typeface="sans"
    android:textSize="20sp"  />

XML属性仅允许值normalsansserifmonospace。如果您想使用其他Typeface(也许是随应用附带的自定义版本),则必须在加载TextView后通过为视图调用setTypeface()来代码执行此操作。 / p>

答案 1 :(得分:6)

要添加 Ted Hopp的答案,如果您要查看TextView的自定义字体,请在Activity中引用TextView ,使用此代码示例:

Typeface blockFonts = Typeface.createFromAsset(getAssets(),"ROBOTO-MEDIUM_0.TTF");
TextView txtSampleTxt = (TextView) findViewById(R.id.your_textview_id);
txtSampleTxt.setTypeface(blockFonts);

虽然在使用之前,您需要在assets文件夹中复制您选择的字体。

您还可以在SO上查看我的answer之一,其中有几个网站可供您下载字体。他们是:

http://www.google.com/webfonts

http://www.fontsquirrel.com/

答案 2 :(得分:0)

您可以通过将您的字体文件(example.tff)样式放入,以编程方式设置所需字体 资产/字体,然后将自己的字符串提供给fontpath变量

    String fontPath="fonts/Unkempt-Regular.ttf";
    TextView aboutus=(TextView)findViewById(R.id.aboutus);
    Typeface type=Typeface.createFromAsset(getAssets(), fontPath);
    aboutus.setTypeface(type);