Android开发中导入字体库
摘要
- 在Android开发中系统只提供了三种字体样式,那么如何使用自己想要的字体呢,使文字内容展示有更多的风格选择呢?那就只能导入外部字体库,不过这种方式会导致apk体积暴增,有可能会让你得不偿失。听说google发布了新的字体库,咱也来玩玩。
先上效果图:
基本用法步骤
- 首先要将字体库放入asset目录下。
- 使用方式:
TextView tv_1=(TextView) findViewById(R.id.tv_1);TextView tv_2=(TextView) findViewById(R.id.tv_2);TextView tv_3=(TextView) findViewById(R.id.tv_3);TextView tv_4=(TextView) findViewById(R.id.tv_4);TextView tv_5=(TextView) findViewById(R.id.tv_5);TextView tv_6=(TextView) findViewById(R.id.tv_6);TextView tv_7=(TextView) findViewById(R.id.tv_7);tv_1.setTypeface(Typeface.createFromAsset(getAssets(), "fonts/SourceHanSansCN-Bold.otf"));tv_2.setTypeface(Typeface.createFromAsset(getAssets(), "fonts/SourceHanSansCN-ExtraLight.otf"));tv_3.setTypeface(Typeface.createFromAsset(getAssets(), "fonts/SourceHanSansCN-Heavy.otf"));tv_4.setTypeface(Typeface.createFromAsset(getAssets(), "fonts/SourceHanSansCN-Light.otf"));tv_5.setTypeface(Typeface.createFromAsset(getAssets(), "fonts/SourceHanSansCN-Medium.otf"));tv_6.setTypeface(Typeface.createFromAsset(getAssets(), "fonts/SourceHanSansCN-Normal.otf"));tv_7.setTypeface(Typeface.createFromAsset(getAssets(), "fonts/SourceHanSansCN-Regular.otf"));
进阶用法步骤
- 但是如果需要把整个App的字体都改变了,那这样一个个更改岂不是太麻烦了?这时就需要全局更改了。
步骤
- 首先重写Application,在onCreate()方法中执行下列代码:
Typeface mTypeface = Typeface.createFromAsset(getAssets(), "fonts/NotoSansJP-Medium.otf");try {Field field = Typeface.class.getDeclaredField("MONOSPACE");field.setAccessible(true);field.set(null, mTypeface);} catch (NoSuchFieldException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();}
- 在style.xml文件中自定义一个主题,让重写后的application使用这个主题;同时别忘了在清单文件中声明这个application。
<style name="theme_fullScreen" parent="AppTheme"><item name="android:typeface">monospace</item></style>
<applicationandroid:name=".MyApplication"android:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:supportsRtl="true"android:theme="@style/theme_fullScreen">
下载google字体库
Android开发中导入字体库相关推荐
- Android Studio中导入第三方库
之前开发Android都是使用的eclipse,近期因为和外国朋友Timothy一起开发一款应用,他是从WP平台刚切换使用Android的,使用的开发环境时Android Studio,为了便于项目的 ...
- android项目中导入opencv库,将第二个JNI库包含到我的Android项目(OpenCV)后...
我试图将OpenCV添加到我现有的Android项目中,但是在合并它们时遇到了以下错误: 12-08 16:15:21.951 22052-22052/ai.inbi.face_recognition ...
- 【Android FFMPEG 开发】Android Studio 中配置 FFMPEG 库注意事项 ( 静态库 链接 libz.so 库 | 导入 FFMPEG 函数库顺序 )
文章目录 I . 导入 z 库 ( FFMPEG 动态库 与 静态库区别 ) II . FFMPEG 库引入顺序 III . Android Studio 中 FFMPEG 静态库引入完整 CMake ...
- 软件开发在哪个Android版本中草书字体可用?
软件开发在哪个Android版本中草书字体可用? 在我的Android应用程序中,我将TextView的样式设置为: <TextViewandroid:fontFamily="curs ...
- android 字体倒影,Android开发中怎么实现一个文字倒影效果
Android开发中怎么实现一个文字倒影效果 发布时间:2020-11-25 17:18:19 来源:亿速云 阅读:140 作者:Leah 这期内容当中小编将会给大家带来有关Android开发中怎么实 ...
- android开发中遇到的问题汇总
android开发中遇到的问题汇总(五),android汇总127.ANDROID仿IOS时间_ANDROID仿IOS弹出提示框 http://dwtedx.com/itshare_297.html1 ...
- 史上最全Android开发中100%会用到的开源框架整理(1/5)
其实这个开源框架整理很久了,只是一直放在有道云笔记里面,笔者还有很多写得文章都放在有道云笔记里面,有时间都好好整理一下放出来,本篇文章也会不定期更新,由于整理的开源框架分类都有200多个,所有这次只将 ...
- Android开发中的日常积累
欢迎Star,Fork https://github.com/lizhangqu/CoreLink 里面记录了开发过程中有用的东西,欢迎补充,不定时更新. Android 性能优化 Android内存 ...
- Android 开发中的日常积累
Android 性能优化 Android性能优化视频,文档以及工具 胡凯-性能优化 Android最佳性能实践(1):合理管理内存 Android最佳性能实践(2):分析内存的使用情况 Android ...
- Android使用自己的字体库让你的APP更漂亮
Android系统是一个相对开放的系统,在我们平常开发的时候有时候会直接使用原生的控件更换下背景图片.如果想让我们的APP变得大漂亮,那么我们会对UI进行深度定制,变成我们所希望的那样.而一个APP的 ...
最新文章
- Win95架构师发布移动设备富媒体文档创建平台
- 取代Python多进程!伯克利开源分布式框架Ray
- Keras——模型的保存、读取及加载
- qt调试时变量十六进制_QT-串口调试助手自动定时收发、十六进制转换
- angularJs关于指令的一些冷门属性
- Python笔记(5) 变量类型
- Android系统(96)---Android 数据交换解析框架Gson使用详解
- python实践统计学中的三大相关性系数,并绘制相关性分析的热力图
- kali新手入门教学(16)--如何在校园网下使用桥接模式上网
- 计算机二级修改并应用基本简历模板,如何通过Office模板轻松快捷创建简历
- python 图像检索系统_python-计算机视觉 - 图像检索
- android root权限命令行,如何通过命令行取得安卓root权限
- 拆轮子之Fish动画分析
- 华为Ensp,中继,单臂,基于vlan的DHCP
- win7系统换主板后无法进系统,卡logo,无法进安全模式的解决方案
- legoloam系列算法之点云处理与特征提取
- 小米平板1刷dot9-dot7
- ESO+LTV MPC算法笔记
- 图形图像相关格式简介
- 诺基亚5800XM深度测