美文网首页
Android App更换字体调研

Android App更换字体调研

作者: cover_tech | 来源:发表于2020-05-12 10:10 被阅读0次

最近各大项目都要换字体,所以调研了一下

首先,是换字体的方法:
如果是TextView的话,一个是style中的fontFamily,一个是Typeface
如果是EditText的话,仅有style中的fontFamily
如果是WebView的话,上述两个都无效,仅有嵌入css替换字体的方案

然后,是具体的替换方式,还是以上述三个分布来看:

  1. style中设置fontFamliy
    • 先来了解下Android原生使用的字体,思源黑体(san),思源宋体(serif),其实还有两个,一共四个,但是这两个足够满足绝大部分的需求了。不得不说下的华为,由于某些众所周知的原因,华为取消了默认字体,所以设置这两个是无效的,当前测试的情况是,华为仅数字字母生效,其他不生效,这个其实是Android自己的逻辑,字体没有的话,使用系统默认的字体。使用方法就是将<item name="fontFamily">serif</item>这行加在App使用的Theme里面。
    • 然后是自定义字体,将字体文件放在res目录下的font里面,然后建立xml,按语法写好就好了。调用方式就是<item name="fontFamily”>@font/your_font</item>
  2. Typeface
    • 从font中取数据,设置给TextView.Typeface就好。下述方法能相应取到Typeface ResourcesCompat.getFont(context!!, R.font.your_font)
    • 从asset中取数据,设置给TextView.Typeface就好。下述方法能相应取到Typeface Typeface.createFromAsset(context.getAssets(), your_path)
  3. 嵌入CSS
    • 熟悉HTML和CSS的同学应该很清楚怎么换,就是在HTML中嵌入CSS来加载自定义字体。基于Android本身的情况,字体和CSS文件均需要放在assets里面,然后在HTML代码中插入<link />链接给HTML代码即可
    • 这个方法是有一定问题的,需要先把字体价值进内存,然后再渲染给网页,所以会闪白一下,暂无好的解决方法

最后,是1,2两个方法的限制,3的限制已经写了

fontFamilyTypeface是冲突的,即在Style中设置了字体,一旦TextView重新设置了Typeface,就会以新设置的Typeface为准。举例:fontFamily设置了思源宋体,Typeface设置了Typeface.BOLD,这时,显示的样式是默认字体的加粗,而不是宋体加粗,如果需要使用宋体加粗,需要在设置Typeface为另一自定义的加粗宋体的字体。

本文作者:刘小宇(Laffey)

本文为原创作品,未经允许不得转载。

相关文章

  • Android App更换字体调研

    最近各大项目都要换字体,所以调研了一下 首先,是换字体的方法:如果是TextView的话,一个是style中的fo...

  • Android APP更换字体策略精要

    前言近期项目需要在我们的APP中使用指定的字体库。经过搜集资料,研读源码,和别人探讨请教,最终产出了一些比较好的方...

  • android更换字体

    android更换字体 最近在研究android端字体替换需求,发现还是有很多方式来替换字体。 一,前言 Andr...

  • Android更换字体

    首先需要去找一些想使用的 ttf 文件, 去1001 Free Fonts或者Google Fonts找,或者让U...

  • Android更换字体

    Typeface typefaceLatoLight = Typeface.createFromAsset(con...

  • Flutter 更换App图标

    以Flutter2.0+版本为示例 iOS App图标更换 Android App图标更换

  • LayoutInflaterFactory app内全局更换字体

    LayoutInflaterFactory app内全局更换字体 LayoutInflater 大家肯定很熟悉,布...

  • Android开发--更换字体

    开发中,经常遇到需要更换字体格式,设计妹子为了让UI更美,设置了很多让人着(tong)迷(ku)的字体,但是蓝瘦归...

  • Android Studio--项目实战中的坑

    Android Studio 版本3.4.2Android 版本最高9.0 更换APP的应用图标 从android...

  • iOS-动态下载所需的字体

    1、更换系统字体的方法 添加字体文件 使用苹果官方API动态下载动态下载的优点:1)不占用APP包的体积(字体文件...

网友评论

      本文标题:Android App更换字体调研

      本文链接:https://www.haomeiwen.com/subject/hiivnhtx.html