小编典典

是的,反思。这有效(基于此答案):

(注意:由于缺乏对自定义字体的支持,因此这是一种解决方法,因此,如果你要更改此情况,请在此处加注星号以投票赞成android问题)。注意:请勿在该问题上留下“我也”评论,当你这样做时,所有盯着它的人都会收到一封电子邮件。因此,请对其“加星标”。

import java.lang.reflect.Field;

import android.content.Context;

import android.graphics.Typeface;

public final class FontsOverride {

public static void setDefaultFont(Context context,

String staticTypefaceFieldName, String fontAssetName) {

final Typeface regular = Typeface.createFromAsset(context.getAssets(),

fontAssetName);

replaceFont(staticTypefaceFieldName, regular);

}

protected static void replaceFont(String staticTypefaceFieldName,

final Typeface newTypeface) {

try {

final Field staticField = Typeface.class

.getDeclaredField(staticTypefaceFieldName);

staticField.setAccessible(true);

staticField.set(null, newTypeface);

} catch (NoSuchFieldException e) {

e.printStackTrace();

} catch (IllegalAccessException e) {

e.printStackTrace();

}

}

}

然后,你需要重载一些默认字体,例如在应用程序类中:

public final class Application extends android.app.Application {

@Override

public void onCreate() {

super.onCreate();

FontsOverride.setDefaultFont(this, "DEFAULT", "MyFontAsset.ttf");

FontsOverride.setDefaultFont(this, "MONOSPACE", "MyFontAsset2.ttf");

FontsOverride.setDefaultFont(this, "SERIF", "MyFontAsset3.ttf");

FontsOverride.setDefaultFont(this, "SANS_SERIF", "MyFontAsset4.ttf");

}

}

或者当然,如果你使用的是相同的字体文件,则可以对此进行改进以仅将其加载一次。

但是,我倾向于只覆盖一个,比如说”MONOSPACE”,然后设置一种样式来强制该字体应用程序范围广泛:

monospace

API 21 Android 5.0

我已经对评论中的报告进行了调查,认为该报告无效,并且似乎与主题不兼容android:Theme.Material.Light。

如果该主题对你不重要,请使用较旧的主题,例如:

monospace

2020-02-27

java 编程字体_Java 是否可以为整个应用程序设置自定义字体?相关推荐

  1. Android 为应用或Textview设置自定义字体,主流字体包

    文章目录 前言 一.assets是什么? 二.APP全局字体 2.1.引入库 2.2.在Application中初始化calligraphy 2.3.让指定的Activity配置自定义字体 2.3.1 ...

  2. 微信小程序可以加服务器上的字体,微信小程序中自定义字体

    微信小程序支持自定义字体开放出来也有段时间,这边整理下使用自定义字体中,容易忽略的一些问题,和简便的全局自定义方式.如果是同时加载两种字体包,先下载下来的会被后下载下来的字体包给覆盖. 官网接口文档 ...

  3. 番外:设置自定义字体

    番外:css中设置自定义字体(引入字体) 1.常规下(你自己有字体包的情况下) 假设你的文件夹这个样子: font文件夹下有两个字体文件,此时你想使用zkkh.ttf(站酷酷黑字体) 代码如下: &l ...

  4. java 编程工具_Java开发工具可以促进编程!

    java 编程工具 Java开发人员通常尝试找到快速有效地编写高质量Java代码的方法,以使他们的编程工作变得更轻松. 由于情况发生了变化,因此出现了越来越多的工具. 因此,下面列出了大多数开发人员已 ...

  5. java编程测试题_Java编程测试可帮助您评估求职者

    java编程测试题 Sometimes back one of my good friend asked me to assess few job candidates for Java progra ...

  6. java编程源代码_java经典编程300例源代码下载

    java经典编程300例源代码是针对java编程的编程源代码.以基础知识为框架,介绍了各部分知识所对应的常用开发实例,并进行了透彻解代码解析和知识扩展4部分,每一部分都进行了细致的说明.__java经 ...

  7. Java编程思考_java编程的总结与思考

    java编程的总结与思考 可以用BlockingQueue来实现生产者-消费者并发模型(下一节中有介绍),当然在Java 5以前也可以通过wait和notify来实现线程调度,比较一下两种代码就知道基 ...

  8. java编程 问题_Java编程常见问题汇总

    Java编程常见问题汇总 在我们写Java程序的过程中,其实里面有一些细节大家可能没怎么注意,虽然一般没有什么大问题,但俗话说的好,差之毫厘失之千里.所以我们一定要注意这些小细节.那在我们日常的编程中 ...

  9. java tcp 编程实例_Java实现基于TCP的通讯程序实例解析

    Java中的TCP通信程序 TCP可以实现两台计算机之间的数据交互通信的两端,要严格区分客户端与服务端 两端通信时的步骤: 1.服务端程序,需要事先启动,等待客户端连接 2.客户端主动连接服务器端,才 ...

最新文章

  1. java通用象棋游戏_在通用国际象棋界面周围模拟GraphQL包装器
  2. 双作用叶片泵图形符号_液压气动图形符号及识别
  3. Ubuntu 16.04通过Unity Tweak Tool实现点击图标最小化
  4. Mysql 内置函数
  5. php文件开放下载安全,php实现文件安全下载
  6. 写给大数据开发初学者的话 | 附教程
  7. 【小技巧】【牛客网】【JAVA】在线输入输出练习
  8. 编写HTML提高编写代码的效率,优化innerHTML操作(提高代码执行效率)
  9. android游戏模式,注重游戏体验 Android 12提供原生游戏模式
  10. 详解MySQL执行事务的语法和流程
  11. php 获得焦点,jquery中blur()失去焦点与focus() 获取焦点事件
  12. 【学习笔记】RecyclerView的使用
  13. linux ras目录,Linux下配置站点-FTP-RSA私钥-公钥
  14. Java多线程——同步容器类
  15. Java语言程序设计(基础篇)
  16. 林子雨_大数据技术原理与应用课后习题
  17. 社交电商 社群电商 源码下载
  18. biostarhandboo(三)|本体论和功能分析
  19. 保健文汇杂志保健文汇杂志社保健文汇编辑部2022年第36期目录
  20. C语言实现一维信号小波阙值去噪

热门文章

  1. mac通过android打电话,应用短评:用Mac打电话的意义在哪?
  2. 桌面环境选择_Fedora 30 正式版发布:引入 Deepin 桌面环境(DDE)
  3. 2012高等学校计算机等级考试试卷二级 vb.net程序设计,2012上海市高等校计算机等级考试试卷二级VBNET程序设计.docx...
  4. flock用法详解 linux_linux下C语言中的flock函数使用方法 .
  5. python购物车_python购物车功能
  6. springboot controller 分页查询_Spring Boot实战分页查询附近的人: Redis+GeoHash+Lua
  7. cmd mysql 报错_Mysql报错问题汇总
  8. python随机图片api_抓取随机图片
  9. mysql union
  10. python eval