Andorid 设置 自定义 字体

本文介绍两种在Android应用中自定义字体的方法:一是通过单例模式在Application中加载特定字体;二是创建自定义TextView并在XML布局文件中使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 现在吧字体读出来
     放在 Application中  要整成单例模式
      private static Typeface EnglishAndNumTypeface ;
      private static Typeface ChineseTypeface ;

      public static Typeface getEnglishAndNumTypeface(Context context) {
             if ( EnglishAndNumTypeface == null ) {
                   EnglishAndNumTypeface = Typeface.createFromAsset(context.getAssets(), "fonts/HelveticaLight.ttf" );
            }
             return EnglishAndNumTypeface ;
      }

      public static Typeface getChineseTypeface(Context context) {
             if ( ChineseTypeface == null ) {
                   ChineseTypeface = Typeface.createFromAsset(context.getAssets(), "fonts/Chines_lantingheijian.ttf" );
            }
             return ChineseTypeface ;
      }
2. 获取TextView
TextView numView = (TextView) itemView.findViewById(R.id.number);
3. 设置字体
numView .setTypeface( NiceCDApplication.getTypeface( getActivity()));


第二种方法
自己写 TextView 然后 在xml 直接使用该TextView

public class TextViewWithChineseFont extends TextView {

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

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

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

      private void init() {
             this.setTypeface(NiceCDApplication. getChineseTypeface(getContext()));
      }
}
然后在 xml 中使用该View
<com.zuimeia.suite.nicecountdown.widget.fontview.TextViewWithChineseFont
                    android:id= "@+id/introduction_title"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="2dp"
                    android:layout_marginTop="10dp"
                    android:text= "@string/introduction"
                    android:textSize="@dimen/font_size_large" />
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值