Android获取系统字体倍数

2019-05-21 14:51:42
try {
    Configuration mCurConfig = new Configuration();
    // 获取ActivityManagerNative类的对象activityManagerNative
    Class<?> activityManagerNative = Class
            .forName("android.app.ActivityManagerNative");
         /*
          * 获得可调用getConfiguration方法的对象oam(调用getDefault方法得到的东西)
          * getMethod:获取AMN类中的getDefault方法
          * invoke:通过activityManagerNative对象调用getDefault方法
          */
    Object oam = activityManagerNative.getMethod("getDefault")
            .invoke(activityManagerNative);
    // 获取getConfiguration方法并通过oam对象调用,得到config对象
    Object config =
            oam.getClass().getMethod("getConfiguration")
                    .invoke(oam);
    mCurConfig.updateFrom((Configuration) config);
    float fontScale = mCurConfig.fontScale;
} catch (ClassNotFoundException e) {
    e.printStackTrace();
} catch (IllegalAccessException e) {
    e.printStackTrace();
} catch (IllegalArgumentException e) {
    e.printStackTrace();
} catch (InvocationTargetException e) {
    e.printStackTrace();
} catch (NoSuchMethodException e) {
    e.printStackTrace();
}
每次字体改动,如果对configChange没有设定,返回Activity会重新启动。


  • 2020-03-04 13:00:23

    NPM酷库:minimist,命令行参数解析

    昨天我们了解的dotenv库用于从文件中加载环境变量。环境变量用于程序运行时动态加载参数,除了环境变量,我们还可以在启动Node.js 程序时直接指定命令行参数:

  • 2020-03-04 21:01:26

    window自带截屏功能

    我们习惯了QQ和微信截图,当我们没有打开微信和QQ的时候,我们想用截图怎么版,当然是,打开QQ和微信,哈哈?

  • 2020-03-05 13:12:54

    Markdown的css样式

    本样式在这个样式的基础上做了一些修改, 主要是对于表格和代码块以及一些细节的修改。 主要目的是用在chrome的扩展 Markdown Preview Plus中, 替换其内置的样式。 由于 Markdown Preview Plus对css文件大大小有要求(小于8K), 所以需要使用压缩后的 css 文件。 当然也可以作为一个单独的markdown样式来使用。