android自定义TextView字体

文章目录

    • 修改 TextViw 为自定义字体
      • 最简便的方法:
      • 简单封装一下使它直接可以在xml文件中使用自定义字体

修改 TextViw 为自定义字体

最简便的方法:

  1. 下载对应字体的 .ttf 的字体文件
    • 例如 : http://www.downcc.com/font/360567.html 下载 DIN Condensed Bold.woff.ttf 字体压缩包 ;
    • 解压即可看到 .ttf 的文件 ;
  2. 项目 src -> main目录下 new -> dictionary 创建路径 assets/fonts , 把 ttf 文件复制进去
  3. 使用
    TextView tv = (TextView)findViewById(R.id.my_textview);
    Typeface typeface = Typeface.createFromAsset(mContext.getAssets(), "fonts/DIN Condensed Bold.ttf");
    tv.setTypeface(typeface );
    

简单封装一下使它直接可以在xml文件中使用自定义字体

  1. 同上1 ;
  2. 同上2 ;
  3. 封装一个 TextView 工具类
    package xxx.xxx.xxx.xxx;
    
    import android.content.Context;
    import android.graphics.Typeface;
    import android.support.annotation.Nullable;
    import android.support.v7.widget.AppCompatTextView;
    import android.util.AttributeSet;
    import android.widget.TextView;
    
    import xxx.xxx.xxx.xxx.application.MyApp;
    
    /**
     * DinCondensedBold 字体
     */
    public class TextViewDinCondensedBold extends AppCompatTextView {
    
        Typeface tfDinConBold = Typeface.createFromAsset(MyApp.sContext.getAssets(), "fonts/DINCondensedBold.ttf");
    
        public TextViewDinCondensedBold(Context context) {
            super(context);
            setTypeface(tfDinConBold);
        }
    
        public TextViewDinCondensedBold(Context context, @Nullable AttributeSet attrs) {
            super(context, attrs);
            setTypeface(tfDinConBold);
        }
    
        public TextViewDinCondensedBold(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
            super(context, attrs, defStyleAttr);
            setTypeface(tfDinConBold);
        }
    }
    
  4. xml 中直接使用 :
    
    
  5. 运行 , 完成 .

你可能感兴趣的:(布局,android,移动开发,textview,自定义view,xml)