赞
踩
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)打开FontSubset,运行FontSubsetGUI.exe点击 process
字体库的下载链接(这里的字体库是我用FontSubset压缩了的,非常小):http://download.csdn.net/detail/pcaxb/8974239
(4)Android字体系统库(了解)
Android System Fonts(/system/fonts):(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- TextView tv = (TextView)findViewById(R.id.TextView01);
- tv.getPaint().setFakeBoldText(true);//使用TextPaint的仿粗体设置setFakeBoldText为true
(3)android:fontFamily与 android:typeface
相关属性:normal、sans、serif、monospace3.通过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);
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。