• Android 开发之修改 app 的字体大小(老人模式)


    新的需求(可参见 微信和QQ改变字体):

    1. app 字体不随着系统字体大小变化
    2. app 设置中有设置字体大小的开关,变大以后,整个 app 字体变大。

    解决方案:(字体需要采用 dp 为单位,不能使用 sp 为单位)

    • 解决1. 在 activity 和 fragment 的基类中,修改属性 fontScale 来实现的
    1 private void initFontScale() { 
    2   Configuration configuration = getResources().getConfiguration();
    3   configuration.fontScale = (float) 1; 
    4   //0.85 小, 1 标准大小, 1.15 大,1.3 超大 ,1.45 特大 
    5   DisplayMetrics metrics = new DisplayMetrics();
    6   getWindowManager().getDefaultDisplay().getMetrics(metrics); 
    7   metrics.scaledDensity = configuration.fontScale * metrics.density;
    8   getBaseContext().getResources().updateConfiguration(configuration, metrics); 
    9 }

    链接:http://www.jianshu.com/p/fafa8a0df5fb

    • 解决2:通过设置获取到一个默认字体大小的倍数,然后保存到 SharePreference 中,然后重启 activity ,加载控件的时候,让控件默认字体大小乘以存储的倍数

    链接:http://www.cnblogs.com/xqxacm/p/5779762.html

    • 解决3: 通过抽取为 style ,在设置中修改大小,然后重启 app,通过给 activity 设置 theme 进行替换

    链接:http://blog.sina.com.cn/s/blog_3e333c4a0101igti.html

    链接:http://blog.csdn.net/dlmu2001/article/details/7414411

    链接:http://blog.csdn.net/wanjf_912/article/details/7641184

    链接:http://www.jianshu.com/p/61b79e7f88fc

    链接:http://hellorheaven.iteye.com/blog/2076403

  • 相关阅读:
    [转载]#2002 服务器没有响应 (或者本地 MySQL 服务器的套接字没有正确配置
    [转载]使用Cufon技术实现Web自定义字体
    [转载]Fedora14下MySQL、Apache、PHP、phpMyAdmin的安装步聚
    GUID的使用
    访问来源记录
    MongoDB数据库的基本概念
    域登录验证
    sql语法和MongoDB语法的对应关系
    ADO.NET数据集添加虚拟字段
    MongoDB开发常用资源地址
  • 原文地址:https://www.cnblogs.com/liyiran/p/6381998.html
Copyright © 2020-2023  润新知