Android Chromium:成功地获取到用户自定义的系统默认字体设置
2015-01-27 18:17
357 查看
这个事情的原理是这样的: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。
怎么做的呢?
其实很简单:修改android.content.res.Configuration类,Configuration类保存系统级别影响所有的Activity View显示的设置。如果Configuration类有改变,则会自动重新启动所有的Activity。
比方说,可以加一个String fontPath或者Typeface typeface属性。(官方默认的只有fontSize)
添加的属性对于外部应用而言是不可见的,因为外部普通应用只能基于官方的Android SDK编译。解决方法是通过Java动态反射调用。
那么,外部应用初始启动时如何获取当前的Configuration对象实例呢?
很简单:Activity(Context) --> getResources()得到Resources对象 --> getConfiguration():OK。
相关文章推荐
- Android 自定义字体样式 及系统默认字体样式 的设置
- Android系统移植与调试之------->如何修改Android默认字体大小和设置里面字体大小比例
- Android 系统默认自定义launcher权限设置。
- Android 自定义dialog,去除系统默认黑色背景,边框并设置dialog的显示位置
- android点滴(29) android中设置用户自定义的字体
- Android 自定义字体,更换系统默认显示的字体使用自定义字体
- android 中对 gps 默认关闭+语言默认中文的设置+时区设置+修改系统名字+修改系统默认时间+修改屏幕休眠时间+修改usb debug默认关闭+mtk修改默认字体大小
- Android更换系统默认显示的字体使用自定义字体
- android 中对 gps 默认关闭+语言默认中文的设置+时区设置+修改系统名字+修改系统默认时间+修改屏幕休眠时间+修改usb debug默认关闭+mtk修改默认字体大小
- android 设置自定义字体为默认字体
- Android系统默认设置
- C#获取和设置系统的默认打印机,使用API
- Android系统默认设置
- Android之自定义背景Button按钮、自定义形状Button的全攻略、设置字体颜色
- android 中对 gps 默认关闭+语言默认中文的设置+时区设置+修改系统名字+修改系统默认时间
- android 获取系统中各种类型音量及对音量设置
- android默认系统字体
- OK6410Android系统的开机默认设置
- windows设置系统登陆默认用户
- Activity 中获取所有控件 并设置自定义字体