我是靠谱客的博主 甜甜皮卡丘,最近开发中收集的这篇文章主要介绍Android TextView 自定义字体设置,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

如何在Android中,对TextView设置自己喜欢的字体呢?




下面介绍 2 种方法:

1、代码中动态设置:

      <!--  这里没有设定字体,将在Java代码中设定-->
      <TextView   Android:id="@+id/custom"
                         Android:text="Hello,World"
                         Android:textSize="20sp" />

     ① 在Android中引入其他字体,首先要将字体文件保存在assets/fonts/目录下(字体格式.ttf)

     ②//得到TextView控件对象
        TextView textView =(TextView)findViewById(R.id.custom);

  ③//将字体文件保存在assets/fonts/目录下,创建Typeface对象
  Typeface typeFace =Typeface.createFromAsset(getAssets(),"fonts/HandmadeTypewriter.ttf");

  ④//使用字体
  textView.setTypeface(typeFace);

2、自定义TextView设置:

     ①建立MyApplication的类,用来设置字体

import android.app.Application;
import android.graphics.Typeface;

public class MyApplication extends Application {
    private Typeface typeface;
    private static MyApplication instance;

    @Override
    public void onCreate() {
        super.onCreate();
        instance = (MyApplication) getApplicationContext();
        typeface = Typeface.createFromAsset(instance.getAssets(), "fonts/zfkt.TTF");//下载的字体
    }

    public static  MyApplication getInstace() {
        return instance;
    }

    public Typeface getTypeface() {
        return typeface;
    }

    public void setTypeface(Typeface typeface) {
        this.typeface = typeface;
    }
}

     ②在AndroidManifest清单中初始化MyApplication

<application
        android:name=".MyApplication.MyApplication" //初始化 MyApplication

        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        tools:replace="android:icon">

      ③建立MyTextView

public class MyTextView extends TextView {
    public MyTextView(Context context) {
        super(context);
        //设置字体
        setTypeface(MyApplication.getInstace().getTypeface());
    }

    public MyTextView(Context context, AttributeSet attrs) {
        super(context, attrs);
        //设置字体
        setTypeface(MyApplication.getInstace().getTypeface());
    }

    public MyTextView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        //设置字体
        setTypeface(MyApplication.getInstace().getTypeface());
    }

}

      ④准备好之后直接Xml中使用

<com.ahbcd.app.fctms.utils.MyTextView       
            android:layout_width="@dimen/dp_60"
            android:layout_height="@dimen/dp_60"
            android:text="显示字体" />


总结:

1、第一种可以改变字体,但是不适合大范围使用,会出现视图展现卡顿现象

2、适合大范围使用,只是比第一种复杂

3、第一种适合一些静态展现,不需要经常刷新界面的地方,动态展示推荐第二种方案,比如Adapter布局当中




最后

以上就是甜甜皮卡丘为你收集整理的Android TextView 自定义字体设置的全部内容,希望文章能够帮你解决Android TextView 自定义字体设置所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部