前言
由于Android开发中部分第三方应用字体过小,用户会调整Android系统的字体大小,但由于我们应用是定制化开发的,改变字体也会影响我们应用的字体显示。
因此需求:定制化的APP内字体大小不随系统设置变化。
正文
在Activity中重写如下方法
@Override
protected void attachBaseContext(Context newBase) {
super.attachBaseContext(getConfigurationContext(newBase));
}
private Context getConfigurationContext(Context context){
if(null== context){
return null;
}
Configuration configuration = context.getResources().getConfiguration();
//重新配置字体放大的倍数。
configuration.fontScale= 1;
return context.createConfigurationContext(configuration);
}
当然也有其他的方式,如下面的
public void setDefaultFontAndDisplay(Activity activity){
Resources resources = activity.getResources();
Configuration configuration = resources.getConfiguration();
configuration.fontScale = 1.0f;//重新配置字体放大的倍数。
resources.updateConfiguration(configuration, resources.getDisplayMetrics());
}
上面两个都可以,但我的一个项目中使用第二种,在AndroidManifest.xml配置了configChanges,如下
android:configChanges="screenSize|keyboard|keyboardHidden|layoutDirection|mcc|mnc|locale|touchscreen|orientation|locale|screenLayout|uiMode|fontScale|smallestScreenSize|navigation"
就存在问题。
事后发现,很可能是监听了[fontScale]导致的。
参考文章
历史上的今天
暂无评论...
随机推荐
梁小斌:中国,我的钥匙丢了
中国,我的钥匙丢了。 那是十多年前,我沿着红色大街疯狂地奔跑,我跑到了郊外的荒野上欢叫,后来,我的钥匙丢了。 心灵,苦难的心灵,不愿再流浪了,我想回家打开抽屉、翻一翻我儿童时代的画片,还看一看那夹在书页里的翠绿的三叶草。 而且,我还想打开...
ViewPager的简单使用
前言ViewPager是Android中比较常见的控件,用处很大,比如广告循环播放,图片播放等都会考虑用这个。一直在用,但没有单独写一下,因此今天抽空记录一下,方便自己查阅。正文ViewPager还有一个升级版本ViewPager2,用法也差不多,但这里只介绍ViewPager的使用。个...
Android中实现延时执行操作的几种方法
总结一下:前三种方式都是运行在子线程中,最后一种是在主线程中的。实现延时执行操作的几种方法:1.使用线程的休眠实现延时操作 new Thread() { @Override public void run() { ...
Ubuntu允许root用户远程登录简单介绍
前言本文是简单记录允许远程使用root登入Ubantu。Ubuntu 版本: 18.04好记性不如烂笔头正文为了能够远程控制,需要经过如下几个步骤:修改root密码安装ssh以启动ssh服务修改允许远程使用root登入修改root密码打开Terminal# 使用下面命令...
[代码片段]Java获取某目录下文件总大小
前言代码功能:获取某目录下文件总大小项目中不仅需要判断磁盘大小,还需要限制拷贝目录大小。正文思路:递归目录下的所有文件,累加文件大小。当然,这种递归方式不是很好,因为存在目录层级复杂和文件多,导致耗时。 /** * * @param file * @...
MediaPlayer JNI层介绍
前言之前的《MediaPlayer java层介绍》只是介绍了java中的常用方法,对于JNI层的调用没有进一步介绍,今天就介绍一下JNI层。个人流水账哈,推荐看其他人的,我这只是自己的跟踪记录涉及的代码:frameworks\base\media\java\android\media\M...