android 自定义字体 ttf,[转载]让Android支持自定义的.ttf字体

所谓无图无真相,先看效果图:

a4c26d1e5885305701be709a3d33442f.png

Java代码如下:

a4c26d1e5885305701be709a3d33442f.png

package yc.android.fonts;

import android.app.Activity;

import android.graphics.Typeface;

import android.os.Bundle;

import android.widget.TextView;

public class Y_fonts extends Activity {

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

Typeface fontFace = Typeface.createFromAsset(getAssets(),

"fonts/STXINGKA.TTF");

//字体文件必须是true type font的格式(ttf);//当使用外部字体却又发现字体没有变化的时候(以 Droid Sans代替),通常是因为//这个字体android没有支持,而非你的程序发生了错误

TextView text = (TextView) findViewById(R.id.ttf);

text.setTypeface(fontFace);

}

}

a4c26d1e5885305701be709a3d33442f.png

PS:

我使用的字体是华文行楷

由于Android系统对字体文件的支持问题,该字体文件2.3.3版本以上有效,2.2版本不支持。

注意:

使用其他字库,都会消耗程序的空间,这是要非常注意的。而且这些字库有时并不能完全提供你所需要的文字。

举个例子,省略方式。当文字太多的时候,可以通过省略号省略后面的内容,省略号是使用“…”作为一个字体,可通过android:ellipsize属性进行设置。如果我们需要使用省略功能,需要确保字体具有省略号。此外,为了保证长度的一直,Android会进行填充处理,除了将一个字符更换为省略符合外,后面的字符将更换为一个特殊的Unicode字符,‘ZERO

WIDTH NO-BREAK SPACE’

(U+FEFF)。这个字符并占用任何可视的位置,但是保障了string具有同样的长度。不是所有的字体都支持这个特殊的字符,可能会引发一些乱码现象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值