Android整个应用中设置自己的字体格式

编程入门 行业动态 更新时间:2024-10-09 21:25:31

Android整个应用中设置<a href=https://www.elefans.com/category/jswz/34/1771270.html style=自己的字体格式"/>

Android整个应用中设置自己的字体格式

在我们自己的应用中设置字体效果如下:

之前没有设置应用字体使用的是默认的系统自带的字体效果图如下(左),使用字体后效果如下(右):

具体步骤分如下两步就可以搞定了:

1:首先下载字体,这里我使用的下载的是Google开源的思源字体文件,字体文件名为NotoSanHans.ttf,放入AndroidStudio的

该资源文件放在assets目录下。

2:应用中都会有一个Application的扩展类,我的项目中是MyApplication.java类。在该类中

//字体地址,一般放置在assets/fonts目录
String fontPath = "NotoSansHans.ttf";

在该类的onCreate()函数中调用如下方法:

replaceSystemDefaultFont(this, fontPath);

其中方法详解如下:

/*-----------------------------------更改系统字体代码部分开始-----------------------------*/
public void replaceSystemDefaultFont(Context context, String fontPath) {//這里我们修改的是MoNOSPACE,是因为我们在主题里给app设置的默认字体就是monospace,设置其他的也可以replaceTypefaceField("MONOSPACE", createTypeface(context, fontPath));
}//通过字体地址创建自定义字体
private Typeface createTypeface(Context context, String fontPath) {return Typeface.createFromAsset(context.getAssets(), fontPath);
}//关键--》通过修改MONOSPACE字体为自定义的字体达到修改app默认字体的目的
private void replaceTypefaceField(String fieldName, Object value) {try {Field defaultField = Typeface.class.getDeclaredField(fieldName);defaultField.setAccessible(true);defaultField.set(null, value);} catch (NoSuchFieldException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();}
}
/*-----------------------------------更改系统字体代码部分结束-----------------------------*/

更多推荐

Android整个应用中设置自己的字体格式

本文发布于:2024-03-10 06:29:14,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1727229.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:自己的   字体   格式   Android

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!