Android应用中的文字字体统一设置

本文介绍了如何在Android应用中统一设置所有文字和按钮的字体,避免逐个组件调用setTypeface方法。通过自定义XTextView和XButton,继承原生组件并在构造函数中设置字体,实现了批量替换字体的效果,简化了大量TextView和Button的字体修改工作。
部署运行你感兴趣的模型镜像

    在开发android应用时,我们经常会碰到一种需求就是将app中的所有文字都使用一种特定字体,而非Android系统默认字体Roboto。

    大家试想,如果要修改字体最容易的方式便是使用setTypeface这个接口,传入你所需要的Typeface,就像下面的例子一样:

String fontName = "fonts/Hand_Of_Sean_Demo.ttf";

Typeface userFont = Typeface.createFromAsset(getAsset(), fontName);

TextView textView = (TextView) findViewById(R.id.myText);

textView.setTypeface(userFont);

   但是这种使用默认android TextView,并对单个textView使用setTypeface会出现什么麻烦呢?假如你的应用中只有3个TextView对象,我也就多写一些setTypeface,如

textView1.setTypeface(userFont);

textView2.setTypeface(userFont);

textView3.setTypeface(userFont);

    或许在一定程度上来说,多些几个setTypeface没有什么影响,但是一般的android 应用,都有几百个TextView 和 Button,难道每一个都要调用setTypeface方法吗?

    故而要引入这篇博客的主题,自定义TextView 和 Button, 对于上面的问题最简单的实现方式就是实现自己的TextView和Button, 下面用XTextView和XButton分别表示它们。其实也就是加两个class,分别继承系统默认的组件。

class XTextView extends TextView

class XButton extends Button

    之后在这两个类的构造函数中调用setTypeface(userFont),就可以实现将所有文字和按钮的字体都修改为特殊字体。具体如下所示:



    之后在Layout中使用XTextView组件就已经是特定的字体了,这样就可以非常简便的实现改变字体的功能,同时如果以后要修改字体也非常方便。

    另外,这是小弟第一次写技术博客,如果有什么写得不好的地方,希望大家能够不吝赐教!

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值