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 阅读( ...) 评论( ...)