Android应用开发使用第三方字体

cocos2d-x使用第三方的TTF字体库 cocos2d-x使用第三方的TTF字体库                  最近再做一款手机游戏,用的是cocos2d-x引擎,对于这个引擎我不太熟悉,以前我是做苹果系统的UI界面的,对于cocos2d-x这个引擎接触的比较少。后来遇到一个问题就是游戏中的很多角色都需要使用特殊的字体,比如隶书,行楷等等。但是ios内部不支持这么复杂的中文字体,怎么办呢,不多废话了,直接本主题吧。。。 阅读详情

Android原生的字体可能不会让UI妹纸欢心,实在觉得它太丑了,于是乎UI妹纸就用了第三方字体作为APP的字体风格,这篇博客就是总结在Android应用开发中怎样使用第三方字体。

         首先得有第三方字体库,这里的字体库文件是black_simplified.TTF,在Android Assert目录下新建front文件夹,并将字体库文件放在front目录下面,即/Assert/front/black_simplified.TTF 

         这里来总结下怎样在应用中使用第三方字体才是最简便的。以TextView为例,API接口中有一个方法叫做setTypeface(Typeface obj),这就是设置TextView显示的字体样式的接口,那么怎样得到Typeface对象呢,查看API后可以由Typeface.creatFromAssert(obj)方式来获取,单个TextView使用第三方字体的整个流程如下:

public class MainActivity extends Activity {
	private Typeface TEXT_TYPE ;
	private TextView mTv ;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		// 加载自定义字体
		try{
			TEXT_TYPE = Typeface.createFromAsset(getAssets(),"fronts/black_simplified.TTF"); 
		}catch(Exception e){
			Log.i("MainActivity","加载第三方字体失败。") ;
			TEXT_TYPE = null ;
		}
		mTv = (TextView)findViewById(R.id.tv1) ;
		if(TEXT_TYPE != null){
			mTv.setTypeface(TEXT_TYPE) ;
		}
		mTv.setText("Android程序开发") ;
	}
}

运行之后即可看到效果。但是这样是不是很麻烦?!要为每一个需要用到第三方字体的控件设置字体样式。这里的解决办法是重写需要使用第三方字体的控件,这里以TextView为例,当然Android中可以显示字体的控件还有很多,如Button、EditText。Android开发中常常需要实现自己的Application对象,因为它是全局的,也是程序最先执行的模块,也便于数据共享,所以,初始化字体的操作就放在我们自定义的Application子类MyApp中。代码片段如下:

在MyApp.java的onCreate函数中初始化自定义的typeface:

@Override
	public void onCreate() {
		// 加载自定义字体
		try{
			TEXT_TYPE = Typeface.createFromAsset(getAssets(),"fronts/black_simplified.TTF"); 
		}catch(Exception e){
			Log.i("MyApp","加载第三方字体失败。") ;
			TEXT_TYPE = null ;
		}
		super.onCreate();
	}

在AndroidManifest.xml文件中的<application>中注明name属性为自定义的Application子类:

<application
        android:name="com.example.androidfronttypeface.MyApp"
        ……
</application>

自定义TextView:

public class MyFrontTextView extends TextView {
	public MyFrontTextView(Context context) {
		super(context);
		setTypeface() ;
	}
	public MyFrontTextView(Context context, AttributeSet attrs) {
		super(context, attrs);
		setTypeface() ;
	}
	public MyFrontTextView(Context context, AttributeSet attrs, int defStyle) {
		super(context, attrs, defStyle);
		setTypeface() ;
	}
	private void setTypeface(){
		// 如果自定义typeface初始化失败,就用原生的typeface
		if(MyApp.TEXT_TYPE == null){
			setTypeface(getTypeface()) ;
		}else{
			setTypeface(MyApp.TEXT_TYPE) ;
		}
	}
}
Layout文件中需要引用自定义的TextView:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <com.example.androidfronttypeface.MyFrontTextView
        android:id="@+id/tv1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text=”Android应用开发”
 />
</RelativeLayout>

大概就是这样的,如果是Button或其他控件需要使用第三方字体,也是同样的道理。

源码参考








Android应用开发中使用第三方字体 Android原生的字体可能不能让UI妹纸欢心,实在觉得它太丑了,于是乎UI妹纸就是用了第三方字体作为APP的字体风格,这个资源就是使用第三方字体的一个Demo。 立即下载

相关推荐

Android应用 使用第三方字体

Android应用使用第三方字体,详细信息看博客http://blog.youkuaiyun.com/caicdd007/article/details/52487005

itext生成pdf文档加载中文字体解决方法

最近接手一个任务,在网页中通过用户的输入的信息生成一个pdf文档并且下载到用户本地。iText是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。 https://blog.youkuaiyun.com/qq_37581708/article/details/79709612这个是一个用法总结,不过还有一些解决不了的问题,以下...

xiaoxiaowanzio的博客 1万+

表格数据学习的图神经网络综述

今天学习一篇发表在中科院一区期刊《ACM Computing Surveys》的综述文章《Graph Neural Networks for Tabular Data Learning: A Survey with Taxonomy & Directions》,该刊主要刊载计算机理论方法领域的系统性综述与教程论文,注重跨学科技术融合研究,最新的影响因子为28.0。本文的目的在于通过学习这篇文章,了解关于表格数据学习点图神经网络一些基础知识。

qq_41009600的博客 799

android加载第三方字体的方法与效率

使用第三方字体有三种方法: 1.重写TextView控件:在内部改字体  (缺点:多了就很卡) public void setTypeface(Typeface tf, int style) {            if (style == Typeface.BOLD) {                 super.setTypeface(Typeface.createFromAsse

u014486555的博客 809

从零开始:手把手教你检查并更新英伟达GPU驱动和CUDA版本(Windows/Linux双平台)

本文详细指导如何在Windows和Linux系统上检查并更新英伟达GPU驱动和CUDA版本,解决版本不匹配导致的常见问题。涵盖驱动更新、CUDA Toolkit安装、版本冲突排解及性能优化技巧,帮助开发者高效管理GPU计算环境。

weixin_29237635的博客 701

六自由度机械臂运动学分析及其轨迹规划

六自由度机械臂轨迹规划 通过对比三次多项式插值法与五次多项式插值法的效果,选取后者对机械臂进行轨迹规划,将运动学解导入Matlab Robotics Toolbox仿真,得到各关节角度、速度和加速度与时间关系曲线。 三次多项式插值法 三次多项式有4个待定系数,可同时对起始点和目标点的角度和角速度给出约束条件。 数学公式 MATLAB代码 五次多项式插值法 五次多项式有6个待定系数,可同时对起始点和...

两条眉毛 6万+

Android使用第三方字体

很多时候,Android系统自带的字体可能和我们的APP风格不符。这时候,我们就需要下载并使用第三方字体了。 Android中使用第三方字体,需先下载字体库,一般后缀名为 .ttf (百度上可以找到很多) Android开发中使用方法: 1.在 asset 目录下,新建fonts文件夹,用于存放字体文件,并将需要使用的字体文件放入该文件夹 2. 给TextView设置字体

sky的博客 2983

海康/大华设备如何接入GB28181平台?最新2022版互联避坑指南

本文详细解析了海康/大华设备接入GB28181平台的最新2022版互联避坑指南,涵盖参数配置、实时视音频点播协议交互及典型故障排查。重点介绍了GB/T28181-2022标准下的设备编码规范、SIP服务器配置及媒体流保活机制,帮助工程团队高效解决设备离线和媒体流中断等问题。

weixin_30733003的博客 686

Android 加载自定义字体

通过上述方法,你可以在 Android 应用中轻松加载和使用自定义字体。使用资源文件将字体文件放入res/font目录。在styles.xml或themes.xml中声明样式。在布局文件中使用样式或直接引用字体。直接在 XML 中引用字体将字体文件放入res/font目录。在布局文件中直接使用属性。使用 Font Resource File创建一个字体资源文件来管理多个字体变体。在布局文件中使用定义的字体资源。使用代码动态加载字体将字体文件放入目录。使用动态加载字体。

qqsgcyd的博客 2734

第182期 Claude Skills:深入探究Anthropic的智能体框架(一篇彻底讲透彻)

摘要: Claude Skills是Anthropic推出的智能体框架,通过连接外部工具和服务扩展Claude AI的功能,支持实时交互与任务执行。其核心架构包含技能路由器、注册表、执行引擎等模块,采用渐进式披露机制优化上下文管理。与MCP和A2A相比,Skills更注重模块化设计与Claude深度集成,通过SKILL.md文件定义可重复工作流程,兼具高效性和灵活性。开发者可创建自定义技能,遵循聚焦用户价值、安全隐私等最佳实践,实现AI能力的场景化拓展。该框架与MCP、A2A形成互补,共同推动智能体生态发展

全网120W+关注AI拉呱,专注人工智能以及科技前沿! 2131

【推荐系统】推荐算法:冷启动-召回-粗排-精排-重排 解读

【推荐系统】推荐算法:冷启动-召回-粗排-精排-重排 解读

Danger的博客 3760

Android studio 使用问题汇总(1、字体大小问题 2、导入第三方类库问题 3、APK如何发布)

http://www.apkbus.com/forum.php?mod=viewthread&tid=240266&highlight=android%2Bstudio 使用android studio也有一段时间了,汇总了一下这段时间内遇到一些常见问题 一、字体大小问题   在android studio的使用过程中没有发现类似于Eclipse中的font选

chaozhung的专栏 1447

3、无限维系统理论中的算子与半群:概念、定理及应用

本博文深入探讨了无限维系统理论中的两个核心概念:里茨谱算子与卢默-菲利普斯定理。文章首先介绍了里茨基的定义与性质,分析了谱、预解集及特征值在无限维系统中的特性,并详细阐述了里茨谱算子的条件及其生成C0-半群的能力,结合阻尼欧拉-伯努利梁模型展示了其应用。随后,文章介绍了卢默-菲利普斯定理及其推论,通过多个偏微分方程实例(如一阶方程、柔性梁、波动方程和扩散问题)说明如何利用该定理判断算子是否生成压缩半群。此外,还强调了状态空间选择和边界条件对系统适定性的重要影响,并总结了相关问题的解决步骤与方法。

flink9streamer的博客 146

Android 使用第三方字体

先看下图 一.全局替换方式 1.新建assets引入资源 2. 自定义application,将第三方的字体,替换当前系统默认字体 class App : Application() { override fun onCreate() { super.onCreate() initTypeface() } private fun initTypeface() { val typefaceBysong =...

sunming的博客 4673

华为OD最新机试真题-池化资源共享

摘要:该问题要求管理n台设备的资源池,处理资源申请和释放操作。申请操作需返回满足条件且剩余资源最少的设备ID,释放操作需将指定申请的资源归还。采用线段树数据结构维护各设备当前最大可用资源值,支持快速查询和更新。线段树实现了单点修改、区间最大值查询以及查找最左满足条件的节点功能。算法时间复杂度为O((n+m)logn),空间复杂度O(n),适用于大规模操作。提供了C++、Java和Python三种实现方案。

面试高手的博客 324

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Android 分别使用Java和Kotlin给Textview设置第三方字体、APP全局字体、 Android X字体设置

重写attachBaseContext1.右键单击res文件夹,然后转到“新建”>“Android资源目录”。此时会出现“新建资源目录”窗口。2.在“资源类型”列表中,选择字体,然后单击“确定”。3.将字体文件添加到字体文件夹中。4.双击字体文件可以在编辑器中预览文件的字体。这四步就是创建一个font资源文件,把下载好的字体放到文件中。

fromVillageCoolBoy的博客 4250

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Android 给Textview设置第三方字体、APP全局字体、 Android X字体设置

Android、全局字体和局部字体、附字体包Android、全局字体和局部字体、附字体包前言一、assets是什么?二、使用步骤1.引入库2.在Application中设置字体3.在Activity中使用使用字体单个TextView设置指定字体前言本文主要介绍App全局设置字体以及单个TextView设置字体 提示:以下是本篇文章正文内容,下面案例可供参考 一、assets是什么? 首先需要了解Android之asset

资深全栈开发工程师 1万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Android在XML、代码中使用第三方字体

Android 8.0(API级别26)引入了一项新功能,即XML中的字体,它允许您将字体用作资源。您可以在font文件res/font/夹中添加文件以将字体捆绑为资源。这些字体在您的R文件中编译,并在Android Studio中自动提供。您可以借助新资源类型访问字体资源font。例如,要访问字体资源,请使用@font/myfont或R.font.myfont。 要在运行Android 4.1...

小二的博客 3831

原生android字体,安卓原生字体

手机默认字体好吗?看个人喜欢,字体样式多种多样的,原生态的字体能够正常显示所有的字,换字体的话可能会出现有些无法识别的繁体字,所以只能看个人喜欢,我现在用着这个字体,你可以看一下androidapp开发中默认的字体是什么字体?1、Clockopia.ttf 系统默认待机时钟字体;2、DroidSans.ttf 系统默认英文字体;3、DroidSans-Bold.ttf 系统默认英文粗字体;4、Dr...

weixin_42361623的博客 4756

Android字体及使用第三方字体库

1. android默认字体 http://www.eoeandroid.com/thread-536-1-1.html 2. 对比 iOS 系统 Android 的字体渲染有何区别? http://www.zhihu.com/question/21211748 3. 自定义TextView支持第三方字体库(以隶书为例) http://blog.youkuaiyun.com/jackwolf

WeLoveSunFlower的专栏 1838

iconify 安卓字体图标的使用详解

图片资源是我们app开发中经常使用的,同时图标我们也经常使用,比如常见的扫码icon,消息icon这都是字体图标。 一、为什么要使用字体图标? 普通图片: 图片大时----&amp;gt;app 变大 分辨率变化频繁或者大时----&amp;gt;图片很难高保帧 字体图标: 属于字体 基于svg 伸缩不失真 二、安卓字体图标库 github项目地址 三 、具体使用 1 、gradle依赖添加 github...

dev晴天的博客 2094

java第三方 ttf,Android 使用第三方字体

释放双眼,带上耳机,听听看~!首先得有第三方字体库,这里的字体库文件是black_simplified.TTF,在Android Assert目录下新建front文件夹,并将字体库文件放在front目录下面,即/Assert/front/black_simplified.TTF这里来总结下怎样在应用中使用第三方字体才是最简便的。以TextView为例,API接口中有一个方法叫做setTypefac...

weixin_32010647的博客 300

android 短信字体,安卓短信字体 安卓短信字体大小设置

1、先以小米手机为例,点击桌面上的“设置”。2、在设置里点击“字体大小”。3、进入字体设置页面,将下面的小圆圈向右滑动,字体就变大啦,当然向左就变小。4、设置好自己满意的字体大小点击“确定”。5、确定以后自动回到上一个菜单,我们可以看到字体已经变大了。6、接下来以OPPO手机为例,点击桌面的“设置”。7、在设置菜单栏里点击“显示”,然后找到并点击“字体”。8、和小米手机一样,把光标向右滑动字体就变...

weixin_35599225的博客 3915

android手机可以换字体吗,安卓怎么换字体 安卓手机字体替换教程

傻瓜式安卓字体更换应用:字体精灵软件大小:2.6M软件性质:免费支持系统:安卓(Android)下载方法:字体精灵 v2.1 百度搜索或者在各大安卓手机应用市场搜索,均可找到下载安装字体精灵是一款在安卓手机用户中口碑不错安卓字体更换应用软件,与字体管家一样,都提供了在线字体库、本地字库管理等功能,使用起来比较简单。另外字体精灵还支持字体备份与还原功能,并且不像字体管家那样,经常会推出广告信息,这也...

weixin_39615984的博客 1109
上一篇: android 小音频频繁播放
下一篇: Android Canvas的常用方法
杜小东
博客等级 码龄16年 45粉丝 104原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值