Android 自定义 字体

原创 2018年04月17日 11:36:38

基础配置:

添加 字体资源STXINGKA.TTF  到app/src/main/assets/fonts/STXINGKA.TTF

在项目build.gradle下添加艺术字依赖库

//Calligraphy 字体库/书法
implementation 'uk.co.chrisjenx:calligraphy:2.3.0'

两种方法:

第一种:

自定义控件 

public class MyTextView extends TextView{

    public MyTextView(Context context) {
        super(context);
        init(context);
    }

    public MyTextView(Context context, AttributeSet attrs) {
        super(context, attrs);
        init(context);
    }

    public MyTextView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        init(context);
    }

    public void init(Context context) {
        Typeface newFont = Typeface.createFromAsset(context.getAssets(), "fonts/STXINGKA.TTF");
        setTypeface(newFont);
    }
    
}

第二种Activity:

第三种Application:

在基类 继承Activity中设置

在基类 继承Application的类中写 

个人认为只在Activity中即可,

原因:字作为UI控件的一部分在布局文件中显示,也就是说只与Activity和Fragment相关,而Fragment是依赖于Activity存在的,所以不需要再在Fragment中定义字体

public class MyBaseFontActivity extends AppCompatActivity {
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        myFont();
    }

    /**
     * 自定义字体
     * */
    private void myFont() {
        CalligraphyConfig.initDefault(new CalligraphyConfig.Builder()
                .setDefaultFontPath("fonts/MFShangHei_Noncommercial-Regular.otf")
                .setFontAttrId(R.attr.fontPath)
                .build());
    }
    /**
     * 自定义字体时重载此方法
     */
    @Override
    protected void attachBaseContext(Context newBase) {
        super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase));
    }
}

*注:必须重写 attachBaseContext方法


Android中快速实现自定义字体!

文章目的:快速入门Android中自定义各种字体! 前言:我们都知道,Android中默认的字体是黑体,而大多数app也都是使用的这种字体,但我们发现,大多数app中,个别地方字体非常好看,例如ap...
  • JavaAndroid730
  • JavaAndroid730
  • 2016-11-10 22:47:33
  • 3178

Android—自定义TextView字体!

两种方法: 方法一: 在assets目录下新建目录fonts,然后存放自己的字体库,我这里是微软雅黑weiruanyahei.ttf。 TextView tv; Typeface tf2 ...
  • weiguishan
  • weiguishan
  • 2015-06-29 09:55:29
  • 2648

Android TextView 自定义字体设置

如何在Android中,对TextView设置自己喜欢的字体呢? 下面介绍 2 种方法: 1、代码中动态设置:                          ...
  • shiyangkai
  • shiyangkai
  • 2017-04-20 12:07:16
  • 548

Android 在通知栏使用自定义字体

背景: 在通知栏使用自定义布局时,经常会有各种奇葩的需求,更改字体,更改字体颜色,更改图片等等。。。 实践: 让我们一条一条来分析: 1,动态设置文字:remoteViews.setTextView...
  • u013148378
  • u013148378
  • 2016-11-16 13:56:26
  • 1094

Android自定义view-玩转字体变色

一、概述 继续学习自定义view,主要还是讲解画笔,实现的功能是用两种颜色的画笔画文字,根据滑动的偏移量,实现颜色过渡,可以用于页面的指示器。 效果图: 指示器.gif 二、思路分析...
  • mp624183768
  • mp624183768
  • 2017-12-22 15:29:34
  • 86

Android 自定义字体样式

参考:http://www.2cto.com/kf/201501/367220.html             http://www.xuebuyuan.com/929028.html 一、自...
  • muzhengjun
  • muzhengjun
  • 2016-05-18 10:14:32
  • 4019

android TextView自定义字体样式

昨天工作中偶然发现某款app的字体样式不是android自带的字体样式,看着很舒服。研究了一下发现还挺简单的。 1.从网上搜索一下字体格式文件(.ttf格式,百度上有很多)。下载,放置到eclip...
  • tyk9999tyk
  • tyk9999tyk
  • 2016-10-09 10:33:00
  • 2345

Android 中使用自定义ttf字体实现酷炫效果

所谓无图无真相,先看效果图: Java代码如下:package yc.android.fonts;import android.app.Activity; import android.graphi...
  • mingda8
  • mingda8
  • 2017-03-10 16:31:26
  • 1541

自定义TextView 调用ttf格式字体

自定义TextView 调用ttf格式字体 将ttf格式文件存放在assets/fonts/下 import android.content.Context; import android.gra...
  • u012252502
  • u012252502
  • 2014-06-13 14:27:36
  • 2926

Android 自定义字体(引入外部字体)

做Android开发的时候,一些软件会要求一些特殊字体,我们需要引入外部的ttf格式的字体到程序中,具体操作步骤为: 在安卓应用程序的目录assets中新建fonts目录,将我们需要使用的ttf字体...
  • catoop
  • catoop
  • 2012-08-02 10:42:44
  • 10456
收藏助手
不良信息举报
您举报文章:Android 自定义 字体
举报原因:
原因补充:

(最多只允许输入30个字)