Android Chromium:成功地获取到用户自定义的系统默认字体设置

来源:互联网 发布:最好的mac软件下载网站 编辑:程序博客网 时间:2024/05/01 09:27

这个事情的原理是这样的:Android系统官方是不支持修改系统默认字体的,所有能够修改的情况都是OEM产商修改了framework层的代码,同时集成了高权限的预安装应用服务。

怎么做的呢?

其实很简单:修改android.content.res.Configuration类,Configuration类保存系统级别影响所有的Activity View显示的设置。如果Configuration类有改变,则会自动重新启动所有的Activity。

比方说,可以加一个String fontPath或者Typeface typeface属性。(官方默认的只有fontSize)

添加的属性对于外部应用而言是不可见的,因为外部普通应用只能基于官方的Android SDK编译。解决方法是通过Java动态反射调用。

那么,外部应用初始启动时如何获取当前的Configuration对象实例呢?

很简单:Activity(Context) --> getResources()得到Resources对象 --> getConfiguration():OK。


0 0