(技术)Android 默认非衬线字体修改为衬线字体

2018-06-22  本文已影响0人  点映文艺

先说说什么是衬线字体,什么是非衬线字体。

衬线字体: 横笔细竖笔粗,笔画开始结束有修饰。
非衬线字体:横笔竖笔粗细一致,笔画开始结束无修饰。

还不明白?
宋体、仿宋、方正粗宋简体 就是 衬线字体,
黑体就是非衬线字体。

还不明白? 我向你道歉。

应用场景的区别:
衬线字体容易辨识,易读性高,适合用于篇幅比较大的正文。

无衬线字体醒目,适合用于标题、DM、海报等需要醒目但不需要长时间阅读的地方。但现在有个趋势,很多正文也开始采用无衬线字体,因为无衬线字体比较清新,比较有艺术感。

看够了Android默认的非衬线字体,想尝试尝试衬线字体怎么办?
好了,下面开始扯正题。

  1. 下载好想要使用的字体文件,.ttf后缀的哟
    2.项目目录assets文件夹下,字体扔进去
  2. 代码:
Typeface mtypeface = Typeface.createFromAsset(getAssets(),"song.ttf");
currentItemName.setTypeface(mtypeface);

4.测试呗

我想整个项目都用衬线字体怎么办?

 public void changeFontTypaFace(){
        Typeface fangZhengSong3 = Typeface.createFromAsset(getAssets(),"fangzhengsongsan.ttf");
        try {
            Field field = Typeface.class.getDeclaredField("SERIF");
            field.setAccessible(true);
            field.set(null, fangZhengSong3);
        } catch (NoSuchFieldException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        }
    }

在styles.xml文件下设置样式
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
            <item name="android:typeface">serif</item> 
</style>

application节点下引用主题样式android:theme="@style/AppTheme"

运行一下试试
哇哦,衬线字体耶!!!

上一篇下一篇

猜你喜欢

热点阅读