自定义TextView导入外部特殊字体

原创 2016年06月02日 11:05:36

前段时间由于项目需求,app需要使用特殊字体,所以在网上搜刮了一大波博客把需求完成了,但是由于并没有完美的解决问题(问题见上篇博客),几经曲折跟好基友请教了一番,毛瑟顿开,才有了一下这篇博文。
特殊字体包的导入请见上篇文章,这里就不在赘述了。接下来贴代码:


先是自定义一个textview为了接下来存放外部特殊字体,文件目录如下:
这里写图片描述

CustomTextView类文件:

package com.example.administrator.customview;

import android.content.Context;
import android.util.AttributeSet;
import android.widget.TextView;
/**
 * Created by Administrator on 2016-06-02.
 * 自定义 TextView
 */
public class CustomTextView extends TextView {

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

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

    public CustomTextView(Context context, AttributeSet attrs, int defSyle) {
        super(context, attrs, defSyle);
        init(context);
    }

    /***
     * 设置字体
     *
     * @return
     */
    public void init(Context context) {
        setTypeface(FontCustom.setFont(context));
    }

}

FontCustom类文件:

package com.example.administrator.customview;

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

/**
 * Created by Administrator on 2016-06-02.
 * 特殊字体定义
 */
public class FontCustom {

    static String fongUrl = "font/FangZhen_GBK.ttf";
    static Typeface tf;

    /***
     * 设置字体
     *
     * @return
     */
    public static Typeface setFont(Context context) {
        if(tf==null){
            tf = Typeface.createFromAsset(context.getAssets(), fongUrl);
        }
        return tf;
    }

}

ok,自定义textview完成,接下来就是在xml布局里边调用,直接改变TextView标签就可以了:

 <customview.CustomTextView
         android:id="@+id/UserCenter_txt"
         android:layout_width="wrap_content"
         android:layout_height="match_parent"
         android:layout_marginTop="2dp"
         android:layout_weight="6"
         android:text="@string/UserCenter_txt"
         />

完成了这些操作以后,就可以运行你的项目看看效果了,不用像上篇博客一样一个一个TextView控件去stetType()了,(笑哭……)!

运行后的效果图:
这里写图片描述

是不是完美解决了,系统字体字号过大就变粗的硬伤。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Android引入外部自定义特殊字体的方法

在开发的过程中,android系统自带的字体中规中矩,样式也不外乎就是加加粗,打打斜,很多时候并不能满足我们的需求,此时我们可以引入其他自己下载好的字体,植入到我们自己的程序中,按需使用,大致的步骤如...
  • eyu8874521
  • eyu8874521
  • 2013年04月02日 09:12
  • 4855

android 怎么导入和应用特殊字体在app项目

随着市面上的app应用越来越丰富,一款性能优越且让人眼前一亮的app也是越来越少了。一款好的app不仅要界面精美而且要符合大众需求。 界面上的字体是让用户第一眼就能感受到开发者心意的直接表现。但是a...
  • as_jon
  • as_jon
  • 2016年05月30日 16:05
  • 2004

在TextView中显示特殊字符

碰见要在textview中显示特殊字符的情况,找了一下,要用转义字符实现. 例如: 以下为XML标志符的数字和字符串转义符  "     (" 或 ")  '      (&...
  • geekqian
  • geekqian
  • 2015年12月30日 19:20
  • 1314

android EditText,textview显示 特殊字符及自定义字体

EditText显示 特殊字符
  • shaoyezhangliwei
  • shaoyezhangliwei
  • 2017年07月05日 13:33
  • 1175

android引用外部字体

做Android开发的时候,一些软件会要求一些特殊字体,我们需要引入外部的ttf格式的字体到程序中,具体操作步骤为: 在安卓应用程序的目录assets中新建fonts目录,将我们需要使用的ttf字体...
  • wei_chong_chong
  • wei_chong_chong
  • 2016年08月19日 13:50
  • 2414

Android-自定义TextView(彩色字体与霓虹灯字体以及TextView的多项字体效果)

很多时候我们也需要制作一些彩色字体的文本,文本的霓虹灯效果,以及链接字体哈,字体背景色,下标之类的,而很多时候我们却用多个textview去达到这个效果,可以说是很浪费时间浪费经精力的,这时候怎么办呢...
  • Jack__Frost
  • Jack__Frost
  • 2016年08月22日 18:57
  • 1825

android 特殊字符显示

android 特殊字符显示,一般处理方式都在string.xml里面写入,格式如下:空格: 登  陆 其中 表示空格换行: hello!\n 我是沫沫沫沫! 其中\n表示空格缩进...
  • qq_26337701
  • qq_26337701
  • 2016年11月28日 23:17
  • 283

关于textview显示特殊符号居中的问题

优信技术 2017-01-04 15:44 话说这是2017年的第一篇博客,也是一篇技术博客。先从简单的一篇解决问题开始吧,千里之行,始于足下! -----------------------...
  • u011277123
  • u011277123
  • 2017年01月11日 17:28
  • 720

android string.xml 转译、特殊字符问题

在编辑 string.xml 文件的时候,字符之间的空格用 Space 键是能显示出效果的的,但是字符后面如果需要添加空格,直接 Space 键是不管用的,此时 空格应该用  来表示; 如...
  • jdsjlzx
  • jdsjlzx
  • 2013年07月04日 11:15
  • 30199

Android引入外部自定义特殊字体的方法

在开发的过程中,android系统自带的字体中规中矩,样式也不外乎就是加加粗,打打斜,很多时候并不能满足我们的需求,此时我们可以引入其他自己下载好的字体,植入到我们自己的程序中,按需使用,大致的步骤如...
  • eyu8874521
  • eyu8874521
  • 2013年04月02日 09:12
  • 4855
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:自定义TextView导入外部特殊字体
举报原因:
原因补充:

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