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>

<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>

<TableRow>

<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>

<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>

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

}
}

}
}  

转--Android中自定义字体的实现方法的更多相关文章

  1. [转]Android中自定义checkbox样式

    android中自定义checkbox的图片和大小   其实很简单,分三步: 1.在drawable中创建文件checkbox_selector.xml: <?xml version=" ...

  2. android中获取root权限的方法以及原理(转)

    一. 概述 本文介绍了android中获取root权限的方法以及原理,让大家对android 玩家中常说的“越狱”有一个更深层次的认识. 二. Root 的介绍 1. Root 的目的 可以让我们拥有 ...

  3. Android中集成第三方库的方法和问题

    Android中集成第三方库的方法和问题 声明: 1. 本文參考了网上同学们的现有成果,在此表示感谢,參考资料在文后有链接. 2. 本文的重点在第三部分,是在开发中遇到的问题及解决的方法.第一,第二部 ...

  4. Android中获取文件路径的方法总结及对照

    最近在写文件存贮,Android中获取文件路径的方法比较多,所以自己也很混乱.找了好几篇博客,发现了以下的路径归纳,记录一下,以备不时之需 Environment.getDataDirectory() ...

  5. Android中自定义veiw使用Java中的回调方法

    //------------------MainActivity----中---------------------------------- import android.os.Bundle;imp ...

  6. css3 自定义字体的使用方法

    @font-face是CSS3中的一个模块,他主要是把自己定义的Web字体嵌入到你的网页中,随着@font-face模块的出现,我们在Web的开发中使用字体不怕只能使用Web安全字体,你们当中或许有许 ...

  7. Android中的onActivityResult和setResult方法的使用

    如果你想在Activity中得到新打开Activity关闭后返回的数据,你需要使用系统提供的startActivityForResult(Intent intent,int requestCode)方 ...

  8. Android中通过注解代替findViewById方法

    转自:http://www.2cto.com/kf/201405/302998.html 这篇文章主要讲解注解实现findViewById的功能,首先我们来熟悉一下在java中怎么定义一个注解和解析一 ...

  9. Android实现自定义字体

    介绍 最近在看开源项目的时候,发现里面涉及到了自定义字体,虽然自己目前还用不到,但是动手demo笔记记录一下还是有必要的,没准哪天需要到这个功能. 原理 1.其实实现起来非常简单,主要是用到了Type ...

随机推荐

  1. Jquery实现图片的预加载与延时加载

    有很多项目经常会需要判断图片加载完成后执行相应的操作,或者需要图片延迟加载,网上虽然已经有很不错的插件,但要为这些效果还得单独加载一个插件的话总感觉有点不舒服,干脆自己写了个方法: 1 2 3 4 5 ...

  2. linux下的符号链接和硬链接

    一   Linux下链接文件的作用 Linux特别注重用户的权限,而链接文件的作用也正体现了这个方面.对源文件的位置进行了隐藏,用户只对链接文件操作. 二  链接文件的区别 链接文件分为硬链接文件和软 ...

  3. Android——不同activity之间数据传递

    /* * 不同activity之间数据的传递 */ public class MainActivity extends Activity { private EditText et_name; @Ov ...

  4. Qt事件和信号的区别 .

    仔细来看,事件与信号其实并无多大差别,从我们对其需求上来说,都只要能注册事件或信号响应函数,在事件或信号产生时能够被通知到即可.但有一项区别在于,事件处理函数的返回值是有意义的,我们要根据这个返回值来 ...

  5. 正则表达式 ——python 基础

    一.引言 正则表达式是含有文本和特别字符的字符串,这些文本和特别字符描述的模式可以识别各种字符串. 正则表达式的强大之处在于特殊符号的应用,特殊符号定义了字符集合.子组匹配,模式重复次数...正是这些 ...

  6. 常用MIME类型

    后缀名       MIME名称*.3gpp    audio/3gpp, video/3gpp*.ac3    audio/ac3*.asf       allpication/vnd.ms-asf ...

  7. bash内部命令-1

    外置命令 date expr seq nohup tput bash内置命令 trap set shopt date Linux时钟分为系统时钟(System Clock)和硬件(Real Time ...

  8. FROM_UNIXTIME 格式化MYSQL时间戳函数

    FROM_UNIXTIME 格式化MYSQL时间戳函数 对MYSQL没有进行过深入的研究,基础知识匮乏,一遇到问题只能手册,看来要把MYSQL的学习安排进时间表了. 函数:FROM_UNIXTIME作 ...

  9. 简单实现JS Loading功能

    我们经常在浏览网页的时候会看到数据在加载时,出现的LOADING提示.其实这个功能原理是很简单的,就是一个DIV遮盖当前页面,然后Loading就在遮盖DIV层上展示出来,现在我们来动手实现一下. 1 ...

  10. Nginx 性能优化

    1.安全优化:隐藏Nginx版本号,server_tokens off; 2.安全优化:更改掉默认的用户  user nginx; 3.性能优化:  根据硬件配置,调整nginx worker 进程数 ...