博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 中文字体的设置方法和使用技巧
阅读量:4993 次
发布时间:2019-06-12

本文共 2501 字,大约阅读时间需要 8 分钟。

Android TextView字体颜色等样式具体解释连接:

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大字库化小字库软件
工具下载地址:

操作使用

(a)打开FontSubset,执行FontSubsetGUI.exe
(b)填上数据
source font 是你的当前要切割的字体包
new font 是你要切割后的字体
char list 能够选你当前切割的字体包
encodeing 选utf-8

点击 process

字体库的下载链接(这里的字体库是我用FontSubset压缩了的,很小):

(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
參考链接:

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

Button btn = (Button) findViewById(R.id.bt);String source =  "这仅仅是一个測试字符串,測试黑体字斜体字下划线红色字的显示。幼圆一号绿色字体" +        "字体" +        "字体" +        "nishiwode" +        "nishiwode";btn.setText(Html.fromHtml(source));        btn.setOnFocusChangeListener(this);

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

Typeface tf1 = Typeface.create("宋体", Typeface.NORMAL);Typeface tf1 = Typeface.create("sans-serif", Typeface.NORMAL);
       
posted on
2017-06-05 08:54 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/mthoutai/p/6943288.html

你可能感兴趣的文章
线段树合并学习笔记
查看>>
AndroidAutoLayout
查看>>
样本不均衡下的分类损失函数
查看>>
node启动服务后,窗口不能关闭。pm2了解一下
查看>>
vsCode 改变主题
查看>>
【vijos】【树形dp】佳佳的魔法药水
查看>>
聚合新闻头条
查看>>
Ubuntu 关闭锁屏界面的 on-screen keyboard
查看>>
凸优化学习笔记
查看>>
使用ehcache-spring-annotations开启ehcache的注解功能
查看>>
Charles设置HTTPS抓包
查看>>
NGUI出现Shader wants normals, but the mesh UIAtlas doesn't have them
查看>>
Boost.Asio c++ 网络编程翻译(14)
查看>>
Codeforces Round #306 (Div. 2) D.E. 解题报告
查看>>
uva 1557 - Calendar Game(博弈)
查看>>
HDU1051 Wooden Sticks 【贪婪】
查看>>
十大经典数据挖掘算法
查看>>
Rhythmbox乱码的解决的方法
查看>>
中纪委:抗震中官员临危退缩玩忽职守将被严处
查看>>
MySQL 8.0.12 基于Windows 安装教程
查看>>