(原创)设置APP内的字体

在进行开发时,有时候需要设置自己的字体,那么Android中是如何设置自己的字体的呢?

先来看一下页面效果

可以看到这是自己的字体,而不是Android系统自带的字体,下面来讲一下实现方式

具体可以有两种

第一,在Activity等页面中通过findviewbyId找到这个带有text的控件

然后调用以下方法

Typeface typeFace =
        Typeface.createFromAsset(getAssets(),"fonts/HandmadeTypewriter.ttf");


  textView.setTypeface(typeFace);

先看createFromAsset方法中的两个参数,第一个代表是读取资源目录assets,那么后面一个字符串就好理解了,就是资源目录assets下的fonts的字体文件。

Android默认用assets下的fonts文件夹存储字体格式的文件,相关的字体大家可以去网上搜索,一般的字体比如楷体或者行书都很好找到。

那么每次这样调用会显得比较麻烦,我们也可以采用第二种方式

直接定义一个类继承含有文本的控件(在安卓中这些控件包括edittext,textview等)

这里我们仍然以textview为例,下面是我写的一个自定义的textview,大家可以仿造这种方式重写其他的控件

/**
 * 自定义TextView
 */
public class CustomFontTextView extends TextView {
    public CustomFontTextView(Context context) {
        this(context, null);
    }

    public CustomFontTextView(Context context, AttributeSet attrs) {
        this(context, attrs, 0);
    }

    public CustomFontTextView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        init(context);
    }

    /**
     * 设置字体
     *
     * @param context
     */
    private void init(Context context) {
        AssetManager assets = context.getAssets();
        Typeface font = Typeface.createFromAsset(assets, MyCode.FONTS);
        setTypeface(font);

    }
}

可以看到在init()方法里仍然是采用的这种方式,另外顺便一说

自定义控件时,画笔Pain也有这个setTpyeface方法哦,也是用来绘制字体的

更多关于自定义控件的问题,可以参考这篇博客

也是我转载他人的一个介绍

还是蛮详细的

http://blog.csdn.net/android_xiong_st/article/details/78401548

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值