App字体大小不随系统改变而改变

转载请注明出处:http://www.cnblogs.com/cnwutianhao/p/6713724.html

在 "设置" , "显示" , "字体大小" 里面我们可以设置系统字体大小

App界面字体,如果被修改之后,可能就达不到理想状态的效果,界面布局就发生了变化。

未修改过的效果(测试机型:Nexus 5):

       正常              小              超大

  

修改之后的效果(测试机型:Nexus 5):

      正常              小              超大

  

我们从这两组对比图中可以直观的看到修改后的App字体大小不随系统改变而改变。

其实实现起来很简单,无需设置布局文件里面的 "textSize",只需要在父类Activity中重写 getResources() 方法即可:

@Override
    public Resources getResources() {
        Resources resources = super.getResources();
        Configuration configuration = new Configuration();
        configuration.setToDefaults();
        resources.updateConfiguration(configuration, resources.getDisplayMetrics());
        return resources;
    }

关注我的新浪微博,获取更多Android开发资讯!
关注科技评论家,领略科技、创新、教育以及最大化人类智慧与想象力!

时间: 2024-08-10 01:55:44

App字体大小不随系统改变而改变的相关文章

Android: 设置 app 字体大小不跟随系统字体调整而变化

在做 app 内字体大小的需求,类似于 微信中设置字体大小. 那么就需要 app 不跟随系统字体大小调整而变化,找到了两个方法. 方法1: 重写 getResource() 方法,修改 configuration 为 setToDefaults() 1 /** 2 * 设置 app 不随着系统字体的调整而变化 3 */ 4 @Override 5 public Resources getResources() { 6 Resources resources = super.getResource

解决系统改变字体大小的时候导致的界面布局混乱的问题

从android4.0起系统设置的”显示“提供设置字体大小的选项.这个设置直接会影响到所有sp为单位的字体适配,所以很多app在设置了系统字体后瞬间变得面目全非.下面是解决方案 Resources res = getResources(); Configuration config=new Configuration(); config.setToDefaults(); res.updateConfiguration(config,res.getDisplayMetrics() ); 虽然goo

Dialog(八)——改变系统自带Dialog字体大小(ContextThemeWrapper)

MainActivity如下: package c.c.testdialog; import android.app.Activity; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle; import android.v

老人机修改了手机系统默认字体大小的情况处理。

今天发现了rem有一个不适配的情况. 如果有用户把自己手机默认字体改为超大号的话,界面就变形了. 因为之前我们开发一直以320px为最小适配宽度的. 但是改为超大号字体后,rem还认为是320px的宽, 实际上我换算了一下,只有270px宽了,所以有一些浮动的布局会掉下来,或者是看不到, 用苹果手机试了,居然是正常的. 后来,我发现改为超大字体后,网页在uc浏览器.系统自带浏览器和微信浏览器也都是正常的(安卓), 偏偏在我们app里显示不正常, 我得出结论,一定是webview的某个参数没设定.

系统字体大小设置

问题: 在项目中遇到需要修改字体大小的问题.当修改设置里面字体大小的时候,根据情况决定当前应用是否需要同步系统的字体大小.一般在需要完整显示字体的应用中有此需求.华为荣耀的手机桌面似乎就针对这个做了判断,不管系统字体修改成什么样,似乎都是一个默认值,反正我是没有用肉眼看到有什么改变.虽然有点固定,但是好歹也整成了可以完整显示应用名称了. 分析: 在设置中既然有该功能,那么我们就进去看看他的代码了.设置界面对于的xml为Settings_headers.xml,一般这个地方比较难找,新手一般只需要

【MFC】MFC改变对话框中静态文本的字体大小

MFC改变对话框中静态文本的字体大小 2010/08/09 11:30 VC的对话框字体设置对所有控件都有效,你不能单独地改变某个静态文本的字体.对于你的问题,需要首先用CreateFont来建立一个字体对象,然后调用控件的SetFont,就可以了. 例子: 1.改静态文体的ID,如:IDC_STATIC1 2.添加一个Edit控件,建立一个关联的控件m_editControl. 3.在OnInitDialog中添加如下代码: CFont * f; f = new CFont; f->Creat

Android项目实战(二十三):仿QQ设置App全局字体大小

原文:Android项目实战(二十三):仿QQ设置App全局字体大小 一.项目需求: 因为产品对象用于中老年人,所以产品设计添加了APP全局字体调整大小功能. 这里仿做QQ设置字体大小的功能. QQ实现的效果是,滚动下面的seekbar,当只有seekbar到达某一个刻度的时候,这时候上部分的效果展示部分会改变文字大小, 但是在拖动过程中字体不会改变.关闭此界面,就可以看到改变文字后app整体的实际文字大小效果了. ----------------------------------------

葡萄城页面报表通过表达式来改变字体大小

如题,做报表时候,有时候要根据是否是合计行,来改变合计行的粗细,大小. 可以通过字体的表达式来实现: 表达式的通用写法:  =iif( Fields!YourFieldName.Value operator "Value to compare", "If condition is met, use this value.", "If not, use this one.") 如果满足条件(第一个参数),则执行第二个参数,否则执行最后一个参数 例如

iOS中通过设置CSS改变WebView字体大小,颜色,背景颜色

因为WebView自带的属性是不可以改变字体大小颜色这些需求的,只能通过改变css样式,内置来解决.在百度上搜了半天很多不靠谱,现在给出几种解决方案如下: 1.第一种方式:在WebView的代理方法webViewDidFinishLoad中: 字体大小: [webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '12