前言:我们都知道,Android中默认的字体是黑体,而大多数app也都是使用的这种字体,但我们发现,大多数app中,个别地方字体非常好看,例如app的标题栏,菜单栏等地方,那他们是怎么做到的呢?有两种方式,第一是图片来代替文字,第二,就是今天我要教大家的自定义字体。

开发环境:

Android Studio 2.2.2

compileSdkVersion 25

buildToolsVersion "25.0.0"

minSdkVersion 19

targetSdkVersion 25

compile 'com.android.support:appcompat-v7:25.0.0'

提示:使用项目时注意开发环境的更改,以免造成不必要的时间浪费。

1自定义字体

说到字体,我们不难联想到我们使用office时可以选择的各种字体,我们就是需要这种字体文件,值得一提的是,Windows提供了很多字体文件,可以在C:\Windows\Fonts找到。当然,我们也可以去网络上下载你喜欢的字体文件。字体文件是ttf格式的哟。

那我们现在就开始,我们先把要使用的字体文件放入到工具中,操作如下:

(1)新建一个名叫assets的文件夹,然后把字体文件复制到里面

STXINGKA.TTF就是字体文件

(2)我们新建一个类,名叫FontCustom,写入代码:

public classFontCustom {//fongUrl是自定义字体分类的名称

private static String fongUrl = "STXINGKA.TTF";//Typeface是字体,这里我们创建一个对象

private staticTypeface tf;/**

* 设置字体*/

public staticTypeface setFont(Context context)

{if (tf == null)

{//给它设置你传入的自定义字体文件,再返回回来

tf =Typeface.createFromAsset(context.getAssets(),fongUrl);

}returntf;

}

}

(3)新建一个类名叫MyTextView继承TextView,重写2个参数的构造方法

public classMyTextView extends TextView {publicMyTextView(Context context, AttributeSet attrs) {

super(context, attrs);

init(context);

}/**

* 初始化字体

* @param context*/

private voidinit(Context context) {//设置字体样式

setTypeface(FontCustom.setFont(context));

}

}

2使用自定义字体类

我们复制MyTextView的路径到activity_main中,替换原有的TextView,我这里的路径是

com.example.fengjun.fontdiy.MyTextView

修改activity_main中的代码:

xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/activity_main"android:layout_width="match_parent"android:layout_height="match_parent" tools:context="com.example.fengjun.fontdiy.MainActivity">

android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="30sp"android:layout_centerInParent="true"android:text="Hello!我是自定义字体" />

效果很酷炫,对不对?我们只需要2个类就可以完成了自定义字体,之后再哪里需要使用自定义字体,就把路径替换原有的TextView就完成了!

3总结

自定义字体在我们的程序中其实用的地方不多,大多数时候,我们都喜欢用图片来代替TextView来作为标题名称等特殊地方。如果我们在程序中展示的文字内容,使用自定义字体,那就是非常棒的选择,会给人一种耳目一新的感觉。

项目下载地址:http://pan.baidu.com/s/1pLhKgbh

android xml黑体字_Android中快速实现自定义字体!相关推荐

  1. android xml黑体字_Android开发之字体设置

    默认字体 Android SDK自带了四种字体:"normal""monospace","sans", "serif", ...

  2. android xml黑体字_为 Android 换上任意喜欢的字体,你可以试试这个 Magisk 模块

    本文综合微信公众号「霞鹜」(lxgwshare),点击 此处 阅读原文.第一次在少数派上写文章,疏漏之处在所难免,还望各位读者多多包涵和批评指正. 由 @topjohnwu 开发的 Magisk 以其 ...

  3. 教你如何在Unity3D中快速制作自定义字体。

        自己的游戏有自己想要的字体,这个需求很常见.如何,以及如何快速的在unity中制作出自定义字体,这个技术你值得拥有,我值得共享.不喜欢废话,直入主题了. 什么叫自定义字体? 看到没,给你一些这 ...

  4. android xml黑体字_如何在 Android 上使用思源黑体作为系统字体?

    展开全部 知道我的答案和这个答案崩溃了,我对一个非常详细的答案印象深刻,但62616964757a686964616fe59b9ee7ad9431333365643631是我找不到它.我一直在想如何评 ...

  5. vscode设置templates_Vscode中快速创建自定义代码模板的方法

    Vscode中快速创建自定义代码模板 一招鲜,吃遍天,学会了这个在Vscode中快速创建自定义代码模板的教程,我相信创建其它代码模板的方法你也就通个七七八八了. 我就以Vue的创建为例,不过我这个Vu ...

  6. android 调用java类_Android中在WebView里实现Javascript调用Java类的方法

    搜索热词 为了方便网页和Android应用的交互,Android系统提供了WebView中JavaScript网页脚本调用Java类方法的机制.只要调用addJavascriptInterface方法 ...

  7. android 弹窗有边框_android中常用的弹出提示框

    我们在平时做开发的时候,免不了会用到各种各样的对话框,相信有过其他平台开发经验的朋友都会知道,大部分的平台都只提供了几个最简单的实现,如果我们想实现自己特定需求的对话框,大家可能首先会想到,通过继承等 ...

  8. android打开视频噔_Android中三种视频的播放

    在Android中,我们有三种方式来实现视频的播放: 1.使用其自带的播放器.指定Action为ACTION_VIEW,Data为Uri,Type为其MIME类型. 2.使用VideoView来播放. ...

  9. app自定义图标 vue_【分享】在uniapp的nvue和subNVue中添加本地自定义字体/字体图标的方法...

    使用uniapp做开发,时不时会遇到困难.遇到困难时,可以在Dcloud社区和QQ群提问.但Dcloud官方分配于解答开发者疑问的力量远远不足,大多数提问根本不会得到任何回复.我是个暴脾气,很多时候气 ...

最新文章

  1. 磁盘加密软件TrueCrypt知识大全(三)之加密非系统分区/设备
  2. 常用电脑密码破解技巧
  3. Ubuntu apt-get 源详解
  4. 菜鸟学Linux 第052篇笔记 httpd-install and section2
  5. 1.1 MySQL OCP 实战环境准备
  6. 多媒体文件格式之TS
  7. I.MX6 Linux Serial Baud Rate hacking
  8. linux命令怎么查看文件时间排序,linux中ls命令按照文件大小排...-ls命令按大小与时间排序文件...-ls按时间排序输出文件列表的实例分析_169IT.COM...
  9. 【报告分享】2020年中国金融科技企业领袖观点洞察报告.pdf(附下载链接)
  10. 剑指offer:删除链表中重复的节点
  11. 云承软件和云溪哪个好_多工序开料机的软件对接及注意事项
  12. pcie转m2装系统win10_NVMe SSD安装Win10系统详解:小白秒懂
  13. sumif计算机怎么学,SUMIF 带给Excel不一样的条件求和
  14. ESXi主机从6.7升级到ESXi 7.0.3后无法识别Emulex LPe12000 HBA卡
  15. FastDFS是如何解决数据一致性问题的?
  16. JAVA做SEO优化,CMS最有效的SEO优化8大方法
  17. PyTorch:view() 与 reshape() 区别详解
  18. 使用RXTX实现简单串口通信调试工具
  19. 实现NFS HA共享目录
  20. doc 转 docx

热门文章

  1. 计算机网络中确认rr2是什么意思,哈工大Mooc——计算机网络:作业2
  2. P1603 斯诺登密码
  3. 武术擂台机器人所需传感器_武术擂台机器人设计报告说明书.doc
  4. 奇思幻想-广告过滤器
  5. 【数字IC前端】UVM常见问题系列
  6. plt. bar添加数据标签
  7. 系统盘从机械迁移至固态
  8. 我的世界手机版修改服务器ip,我的世界手机版怎么建立服务器ip
  9. D3.js地图打点射线动效(结合snap.js)
  10. 整合mybatis+spring项目。