我们可以使用Android中的Typeface使用ttf字体文件设置字体。

       首先,我们先下载一个Android字体,然后在工程项目下的assets文件下创建一个fonts文件,在该文件下放置刚下好的字体。


       现在我们可以在class文件中,通过id获取TextView对象,然后使用以下代码程序:


TextView tv = (TextView)findViewById(R.id.tv);
AssetManager mgr = getAssets();//得到AssetManager
Typeface tf = Typeface.createFromAsset(mgr, "fonts/huakang_shaonv_ziti.ttf");//根据路径得到Typeface
tv.setTypeface(tf);//设置字体

       这样就可以在TextView中设置我们自己想要的字体了。

       此外,在xml文件中使用android:textStyle="bold"可以将英文设置成粗体,但是不能将中文设置成粗体,将中文设置成粗体的方法是:

TextView tv = (TextView)findViewById(R.id.tv);
tv.getPaint().setFakeBoldText(true); //中文仿“粗体”——使用TextPaint的仿”粗体“设置setFakeBoldText为true。


参考网站:​​点击打开链接​

  1. 在Eclipse中新建Android工程fontdemo。代码很简单,只有MainActivity.java和CustomFontTextView.java。布局文件是activity_main.xml。assets下面是我们要使用的字体库文件。

    Android自定义TextView字体_Android


  2. 核心代码是CustomFontTextView.java。CustomFontTextView继承自TextView,在初始化的时候读取自定义的字体库。

    Android自定义TextView字体_java_02


  3. 然后在布局文件中,像普通的TextView一样,引用我们自定义的这个文件。

    Android自定义TextView字体_TextView_03


  4. MainActivity只是负责展示我们自定义的这个TextView。

    Android自定义TextView字体_Android_04


  5. 看一下最终的运行效果。

    Android自定义TextView字体_设置字体_05