Android TextView字体颜色等样式具体解释连接:http://blog.csdn.net/pcaxb/article/details/47341249

1.使用字体库(自己定义字体的使用):当然假设字体库和手机的不兼容获取什么的,可能你的中文是无效的

(1)在assets中新建文件夹fonts,把ttf字体库考到文件夹下

(2)使用代码

TextView view1 = (TextView) findViewById(R.id.tv1);
Typeface tf1 = Typeface.createFromAsset(getAssets(), "fonts/DroidSerif-Bold.ttf");

view1.setTypeface(tf1);

(3)使用字体库的问题和解决

问题:假设你的字体库太大(xM),就会抛java.lang.RuntimeException: native typeface cannot be made

异常。当然抛这个异常不一定是字体库大了。

解决:

用到的软件

(a)FontCreator字库浏览软件

(b)FontSubset大字库化小字库软件

工具下载地址:http://download.csdn.net/detail/pcaxb/8972239

操作使用

(a)打开FontSubset,执行FontSubsetGUI.exe

(b)填上数据

source font 是你的当前要切割的字体包

new font 是你要切割后的字体

char list 能够选你当前切割的字体包

encodeing 选utf-8

点击 process

字体库的下载链接(这里的字体库是我用FontSubset压缩了的,很小):http://download.csdn.net/detail/pcaxb/8974239

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

(4)Android字体系统库(了解)

Android System Fonts(/system/fonts):

AndroidClock.ttf

AndroidClock_Highlight.ttf

AndroidClock_Solid.ttf

AndroidEmoji.ttf

Clockopia.ttf

DroidNaskh-Regular.ttf

DroidNaskhUI-Regular.ttf

DroidSans-Bold.ttf

DroidSans.ttf

DroidSansArmenian.ttf

DroidSansEthiopic-Regular.ttf

DroidSansFallback.ttf

DroidSansGeorgian.ttf

DroidSansHebrew-Bold.ttf

DroidSansHebrew-Regular.ttf

DroidSansMono.ttf

DroidSerif-Bold.ttf

DroidSerif-BoldItalic.ttf

DroidSerif-Italic.ttf

DroidSerif-Regular.ttf

MTLmr3m.ttf

Roboto-Bold.ttf

Roboto-BoldItalic.ttf

Roboto-Italic.ttf

Roboto-Light.ttf

Roboto-LightItalic.ttf

Roboto-Regular.ttf

Roboto-Thin.ttf

Roboto-ThinItalic.ttf

RobotoCondensed-Bold.ttf

RobotoCondensed-BoldItalic.ttf

RobotoCondensed-Italic.ttf

RobotoCondensed-Regular.ttf



2.设置字体的相关属性

(1)android:fontFamily的使用方法(有较高版本号的限制)

相关属性:sans-serif、sans-serif-light、sans-serif-condensed、sans-serif-thin、

(2)android:textStyle="normal|bold|italic"

相关属性Regular、Italic、、Bold、Bold-italic、Light、Light-italic、Thin、Thin-italic、Condensed regular、Condensed italic、Condensed bold、Condensed bold-italic

android:textStyle="bold"能够将英文设置成粗体, 可是不能将中文设置成粗体。

代码设置

TextView tv = (TextView)findViewById(R.id.TextView01);
tv.getPaint().setFakeBoldText(true);//使用TextPaint的仿粗体设置setFakeBoldText为true

(3)android:fontFamily与 android:typeface

相关属性:normal、sans、serif、monospace

參考链接:

http://developer.android.com/reference/android/widget/TextView.html#attr_android%3atypeface

http://stackoverflow.com/questions/12128331/how-to-change-fontfamily-of-textview-in-android

3.通过HTML标签设置字体(注意有些标签是没有效果的):

Button btn = (Button) findViewById(R.id.bt);
String source = "这仅仅是一个測试字符串,測试<b>黑体字</b>、<i>斜体字</i>、<u>下划线</u>、<font color='red' face='微软雅黑'>红色字</font>的显示。<font face='幼圆' size='1' color='green'>幼圆一号绿色字体</font>" +
"<font face='宋体'>字体</font>" +
"<font face='微软雅黑'>字体</font>" +
"<font face='宋体'>nishiwode</font>" +
"<font face='微软雅黑'>nishiwode</font>";
btn.setText(Html.fromHtml(source));
btn.setOnFocusChangeListener(this);

4.通过以下这样的方式的没有什么效果

Typeface tf1 = Typeface.create("宋体", Typeface.NORMAL);
Typeface tf1 = Typeface.create("sans-serif", Typeface.NORMAL);

Android 中文字体的设置方法和使用技巧的更多相关文章

  1. [转载]Linux下终端字体颜色设置方法

    原文地址:Linux下终端字体颜色设置方法作者:router 网上类似的文章有很多,但是都是转来转去的,没有经过测试,按照很多文章的方法会造成你设置之后的终端在换行和删除输入字符时终端显示会乱七八糟, ...

  2. CSS 文本字体颜色设置方法(CSS color)

    CSS 文本字体颜色设置方法(CSS color) 一.认识CSS 颜色(CSS color) 这里要介绍的是网页设置颜色包含有哪些:网页颜色规定规范. 1.常用颜色地方包含:字体颜色.超链接颜色.网 ...

  3. CSS 中的字体兼容写法:用CSS为英文和中文字体分别设置不同的字体

    font-family的调用方法: font-family:Arial,'Times New Roman','Microsoft YaHei',SimHei; font:bold 12px/.75em ...

  4. Sass、Less编译器koala及koala不支持中文字体的解决方法

    一款很好用的Sass编译器,还可以编译Less.coffeescript等 去官网下载适合自己电脑的版本 http://koala-app.com/index-zh.html 打开后拖动或者打开项目目 ...

  5. centos系统安装中文字体几种方法

    我们知道centos是基于linux内核的这款系统默认是不带中文字体了,如果我们要使用中文字体就需要自行安装了,下面一起来看看吧.   前天有用户反应,生成的报到单中他的名字少了一个字.仔细检查了一下 ...

  6. CSS为英文和中文字体分别设置不同的字体

    font-family的调用方法: div { font-family:Arial,'Times New Roman','Microsoft YaHei',SimHei; font:bold 12px ...

  7. xe6 android控件透明度设置方法

    今天才知道xe6 android控件的透明度设置方法:只需设置控件中的Opacity参数,默认为1--不透明 panel1.Opacity:=0.60;

  8. zabbix4.2升级后中文字体乱码解决方法.

    字体文件目录: zabbix 4.2 /usr/share/zabbix/assets/fonts/ 4.0 /usr/share/zabbix/fonts/ php 脚本文件位置: /usr/sha ...

  9. python-docx 设置标题heading的中文字体类型+设置正文的中文字体类型

    依赖包: from docx import Document from docx.shared import Pt from docx.shared import Inches from docx.o ...

随机推荐

  1. APP为什么签名,使用keytool jarsigner进行签名

    签名(sign):在应用程序的特定字段写入特定的标记信息,表示该软件已经通过了签署者的审核.过程:使用私有密钥数字地签署一个给定的应用程序 作用: 识别应用程序作者 检測应用程序是否发生改变 有种程序 ...

  2. 调用imagemagick做响应图片

    设计出图后经常需要改下尺寸放在别的项目上使用,每次都是设计手工处理,其实图片服务可以做更多事情,比如借助强大的im,可以通过url控制图片尺寸 var childProcess = require(' ...

  3. Hadoop自学笔记(二)HDFS简单介绍

    1. HDFS Architecture 一种Master-Slave结构.包括Name Node, Secondary Name Node,Data Node Job Tracker, Task T ...

  4. gdb help all 帮助信息

    Command class: aliases ni -- Step one instruction rc -- Continue program being debugged but run it i ...

  5. DNS隧道工具汇总——补充,还有IP over DNS的工具NSTX、Iodine、DNSCat

    github上有一堆的工具:https://github.com/search?utf8=%E2%9C%93&q=DNS+tunnel+&type= DNS隧道大检阅 研究了一天的DN ...

  6. php global GLOBALS[]变量

    $a=123; function aa() { Global $a; //如果不把$a定义为global变量,函数体内是不能访问函数体外部的$a的,但是可以定义一个相同的名字$a,此时这个变量是局部变 ...

  7. HD-ACM算法专攻系列(20)——七夕节

    问题描述: AC源码: /**/ #include"iostream" #include"cmath" using namespace std; int mai ...

  8. python 3.x 学习笔记17(协程以及I/O模式)

    1.协程(微线程)协程是一种用户态的轻量级线程.协程拥有自己的寄存器上下文和栈.协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈.因此: 协程能保留上一 ...

  9. visio中如何取消跨线和去掉页边距

    比较来说,写论文visio和inkscape都不可缺少. 比如visio跨线的问题,已经遇到过两次忘记了.这次截个图作为记录.其实就是在“设计”一栏里,把连接线里面的跨线显示的对勾去掉即可. *** ...

  10. net-speeder 安装

    net-speeder net-speeder 在高延迟不稳定链路上优化单线程下载速度 项目由https://code.google.com/p/net-speeder/ 迁入 A program t ...