从android4.0起系统设置的”显示“提供设置字体大小的选项。这个设置直接会影响到所有sp为单位的字体适配,所以很多app在设置了系统字体后瞬间变得面目全非。下面是解决方案
Resources res = super.getResources();Configuration config=new Configuration();config.setToDefaults();res.updateConfiguration(config,res.getDisplayMetrics() );
虽然google推荐使用sp作为字体的单位,但实际的开发过程中通常是根据UIUE的设计稿来换算 sp(px换算sp)。而sp即使在同一种密度下其值也不尽相同。比如在240dpi的设备,如果是480x800分辨率这个值通常是1.5倍 (scaledDensity=1.5),如果是480xZ(z>800)那么这个值有可能大于1.5。这无疑给设备的适配带来更多的困难和陷阱。所以个人通常建议使用dpi来作为字体的单位
对于个别app不需要根据系统字体的大小来改变的,可以在activity基类(app中所有的activity都应该有继承于我们自己定义的一个BaseActivity类)中加上以下code:
    @Override    public Resources getResources() {        Resources res = super.getResources();          Configuration config=new Configuration();          config.setToDefaults();          res.updateConfiguration(config,res.getDisplayMetrics() );        return res;    }

更多相关文章

  1. Android(安卓)ViewGroup.setDescendantFocusability函数
  2. Android(安卓)ListView中 每一项都有不同的布局
  3. android百度地图开发总结
  4. Android使用Canvas绘制圆形进度条效果
  5. Android(安卓)8.0 奥利奥现已推出!
  6. Android(安卓)Jetpack Compose 最全上手指南 | 开发者说·DTalk
  7. Android、java环境搭建流程
  8. unity3d深入学习笔记6:发布Android(安卓)apk
  9. fiddle android

随机推荐

  1. Android中使用Retrofit刷新Token
  2. 4款最好的Android设备HTML编辑器
  3. [转]android解决apk编译方法数超过64k的
  4. Android:native和上层framework基于socke
  5. H264解码器源码(Android(安卓)1.6 版)
  6. Android查看数据库方法及工具
  7. 线程方法Android:异步调用详解
  8. 在Android里显示网页的多种方式
  9. Android(安卓)OpenGL ES 绘图 -- 基础元
  10. Android(安卓)开发经验(转)