TextView样式

概述

  • 系统默四种字体
    • noraml (普通字体 系统默用)
    • sans(非衬线字体)
    • serif (衬线字体)
    • monospace(等宽字体)
    // serif字体
    tvTitle.setTypeface(Typeface.SERIF);
    // sans字体
    tvTitle.setTypeface(Typeface.SANS_SERIF);
    // monospace字体
    tvTitle.setTypeface(Typeface.MONOSPACE);
    
  • 资源一
  • 资源二

属性

android:fontFamily

// roboto regular
android:fontFamily="sans-serif" 
// roboto light
android:fontFamily="sans-serif-light" 
// roboto condensed
android:fontFamily="sans-serif-condensed" 
// roboto thin (android 4.2)
android:fontFamily="sans-serif-thin" 

压缩

  • 下载
  • 1文件 2格式 3压缩

    注意
    .TTF提取成功
    .otf提取失败
    

用一

// 读字体文件进内存成字体文件对象
AssetManager mgr = this.getResources().getAssets();
// 路径大小写同扩展名
String path = "AdobeKaitiStd-Regular.otf";
// 构建Typeface文字对象
Typeface t = Typeface.createFromAsset(mgr, path);
tvTitle.setTypeface(t);

用二

Typefaces

package util;

import android.content.Context;
import android.graphics.Typeface;

import java.util.Hashtable;

/**
 * @decs: 样式
 * @date: 2018/11/22 14:30
 */
public class Typefaces {
    private static final String TAG = Typefaces.class.getSimpleName();
    private static final Hashtable<String, Typeface> CACHE = new Hashtable<>();

    private Typefaces() {
        // no instances
    }

    private static Typeface get(Context context, String assetPath) {
        synchronized (CACHE) {
            if (!CACHE.containsKey(assetPath)) {
                try {
                    Typeface t = Typeface.createFromAsset(context.getAssets(), assetPath);
                    CACHE.put(assetPath, t);
                } catch (Exception e) {
                    LogUtils.e(TAG, "Could not get typeface '" + assetPath + "' Error: " + e.getMessage());
                    return null;
                }
            }
            return CACHE.get(assetPath);
        }
    }

    public static Typeface getNotoSansThaiBold(Context context) {
        return get(context, "fonts/NotoSansThai-Bold.ttf");
    }
}

主代码

tvTitle.setTypeface(Typefaces.getRobotoBlack(this));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

snpmyn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值