解析Android中使用自定义字体的实现方法

2016-02-19 09:55 8 1 收藏

有一种朋友不在生活里,却在生命力;有一种陪伴不在身边,却在心间。图老师即在大家的生活中又在身边。这么贴心的服务你感受到了吗?话不多说下面就和大家分享解析Android中使用自定义字体的实现方法吧。

【 tulaoshi.com - 编程语言 】

1、Android系统默认支持三种字体,分别为:“sans”, “serif”, “monospace

2、在Android中可以引入其他字体 。
代码如下:

?xml version="1.0" encoding="utf-8"?
TableLayout xmlns:Android="http://schemas.android.com/apk/res/android"
    Android:layout_width="fill_parent"
    Android:layout_height="fill_parent"

    TableRow

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

        TextView
            Android:layout_marginRight="4px"
            Android:text="sans:"
            Android:textSize="20sp"
        /TextView
        !-- 使用默认的sans字体 --

        TextView
            Android:id="@+id/sans"
            Android:text="Hello,World"
            Android:textSize="20sp"
            Android:typeface="sans"
        /TextView
    /TableRow

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

    TableRow

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

        TextView
            Android:layout_marginRight="4px"
            Android:text="serif:"
            Android:textSize="20sp"
        /TextView
        !-- 使用默认的serifs字体 --

        TextView
            Android:id="@+id/serif"
            Android:text="Hello,World"
            Android:textSize="20sp"
            Android:typeface="serif"
        /TextView
    /TableRow

    TableRow

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

        TextView
            Android:layout_marginRight="4px"
            Android:text="monospace:"
            Android:textSize="20sp"
        /TextView
        !-- 使用默认的monospace字体 --

        TextView
            Android:id="@+id/monospace"
            Android:text="Hello,World"
            Android:textSize="20sp"
            Android:typeface="monospace"
        /TextView
    /TableRow
    !-- 这里没有设定字体,我们将在Java代码中设定 --

    TableRow

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

        TextView
            Android:layout_marginRight="4px"
            Android:text="custom:"
            Android:textSize="20sp"
        /TextView

        TextView
            Android:id="@+id/custom"
            Android:text="Hello,World"
            Android:textSize="20sp"
        /TextView
    /TableRow

/TableLayout

代码如下:

// 得到TextView控件对象
TextView textView = (TextView) findViewById(R.id.custom);
// 将字体文件保存在assets/fonts/目录下,www.linuxidc.com创建Typeface对象
Typeface typeFace = Typeface.createFromAsset(getAssets(),"fonts/DroidSansThai.ttf");
// 应用字体
textView.setTypeface(typeFace);

如果想对整个界面的所有控件都应用自定义字体,可以:
代码如下:

package arui.blog.csdn.net;  

import android.app.Activity;  
import android.graphics.Typeface;  
import android.view.View;  
import android.view.ViewGroup;  
import android.widget.Button;  
import android.widget.EditText;  
import android.widget.TextView;  

public class FontManager {  

    public static void changeFonts(ViewGroup root, Activity act) {  

       Typeface tf = Typeface.createFromAsset(act.getAssets(),  
              "fonts/xxx.ttf");  

       for (int i = 0; i root.getChildCount(); i++) {  
           View v = root.getChildAt(i);  
           if (v instanceof TextView) {  
              ((TextView) v).setTypeface(tf);  
           } else if (v instanceof Button) {  
              ((Button) v).setTypeface(tf);  
           } else if (v instanceof EditText) {  
              ((EditText) v).setTypeface(tf);  
           } else if (v instanceof ViewGroup) {  
              changeFonts((ViewGroup) v, act);  
           }  
       }  

    }  

来源:http://www.tulaoshi.com/n/20160219/1592651.html

延伸阅读
标签: 电脑入门
加入flash的步骤: 1.在自定义里面新建模块 2.模块名称里填入“@LF(ldh)”,写名称的时候去掉双引号,注意名称的大小写(错一个都不行!),括号里的数字可以改,可以是字母,具体有什么规律还待研究,现在知道的有:。 3.新建的模块类型为“图文模块”,这里是成功与否的关键!!(其它模块是不可能的,一律不行!) ...
标签: Web开发
.net 2.0 framework 中新增了 System.Transactions 命名空间,其中提供的一系列接口和类使得在.net 2.0 中使用事务比起从前要方便了许多。有关在 .net 2.0 下操作数据库事务的文章已经有了很多,这里只提一下如何设计自定义事务操作。 一、事务使用基础 先看一段使用事务的代码: 1using (TransactionScope ts= new TransactionSc...
Foxmail如何自定义默认字体   Foxmail提供了调整邮件显示字体的功能,您只需执行"选项"菜单的"邮件显示器"命令,打开"编辑器设置"对话框,然后就可以利用"字体"、"大小"和"背景颜色"等列表框对邮件浏览及编辑窗口的显示字体、字号和背景颜色等项目进行调整了,而利用&qu...
SAX是一个解析速度快并且占用内存少的xml解析器,非常适合用于Android等移动设备。 SAX解析XML文件采用的是事件驱动,也就是说,它并不需要解析完整个文档,在按内容顺序解析文档的过程中,SAX会判断当前读到的字符是否合法XML 语法中的某部分,如果符合就会触发事件。所谓事件,其实就是一些回调(callback)方法,这些方法(事件)定义在Conten...

经验教程

849

收藏

49
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部