天天看点

Android 设置字体的三种方法(TypeFace)

Android系统默认字体支持四种字体,分别为:

  1. noraml (普通字体,系统默认使用的字体)
  2. sans(非衬线字体)
  3. serif (衬线字体)
  4. monospace(等宽字体)

除此之外还可以使用其他字体文件(*.ttf)

一、使用系统自带的字体

1.在xml中修改字体

<!--  不指明typeface -->
            <TextView style="@style/TextStyle"
                android:text="Hello , world  中华人民共和国(没有设置属性)"/>

            <!--  使用默认的normal字体-->
            <TextView
                style="@style/TextStyle"
                android:type
                android:text="Hello , world  中华人民共和国(xml设置normal)"/>

            <!--  使用默认的sans字体-->
            <TextView
                style="@style/TextStyle"
                android:type
                android:text="Hello , world  中华人民共和国(xml设置sans)"/>

            <!--  使用默认的serifs字体-->
            <TextView
                style="@style/TextStyle"
                android:type
                android:text="Hello , world  中华人民共和国(xml设置serif)"/>

            <!--  使用默认的monospace字体-->
            <TextView
                style="@style/TextStyle"
                android:type
                android:text="Hello , world  中华人民共和国(xml设置monospace)"/>
           

2.在Java代码中修改字体

vSansText = (TextView) findViewById(R.id.sans);
        vSerifText = (TextView) findViewById(R.id.serif);
        vMonospaceText = (TextView) findViewById(R.id.monospace);

        //设置字体样式
        vSansText.setTypeface(Typeface.SANS_SERIF);
        vSerifText.setTypeface(Typeface.SERIF);
        vMonospaceText.setTypeface(Typeface.MONOSPACE);
           

二、在Android中可以引入其他字体

Android 设置字体的三种方法(TypeFace)
//从asset 读取字体
        //得到AssetManager
        AssetManager mgr = getAssets();
        //根据路径得到Typeface
        Typeface tf = Typeface.createFromAsset(mgr, "fonts/HelveticaNeueLTPro-UltLt.otf");
        //设置字体
        vTTFText.setTypeface(tf);
           

源码

继续阅读