通过反射机制获得系统字体Size【ActivityManagerNative无法调用问题】
来源:互联网 发布:淘宝网宝宝学步鞋 编辑:程序博客网 时间:2024/06/05 06:02
【反射机制】参考此文【http://blog.csdn.net/coolcoffee168/article/details/5835143】 一
【获取系统字体】参考此文【http://blog.csdn.net/chr8880/article/details/8021237】 二
【参考文】【http://jaymsimusic.iteye.com/blog/781439】 三
在学习中遇到一个问题,需要获取系统字体大小,也就是 【设置-显示-字体大小】中设置的大小,网上搜索通过参考顶部【二】文,得知要用到ActivityManagerNative这个类的方法,但是这个类是hide的,再搜索通过文【三】得知需要用到Java中的反射机制,最后通过参考文【一】学习反射机制得以解决,感谢上面的几篇参考文档,现在记录下来如下:
case R.id.btn_fontSize: // 获取系统字体大小 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); fontSizeTv.setText(mCurConfig.fontScale + ""); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InvocationTargetException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (NoSuchMethodException e) { // TODO Auto-generated catch block e.printStackTrace(); } break;
咕噜咕噜哈哈哈
0 0
- 通过反射机制获得系统字体Size【ActivityManagerNative无法调用问题】
- ActivityManagerNative 反射
- iOS 之通过反射机制获得变量名
- 通过反射机制,获得双卡双待机器的IMEI、IMSI、电话号码。
- 通过反射机制,获得双卡双待机器的IMEI、IMSI、电话号码
- 有关java通过反射机制调用类中自有方法的问题
- java 通过反射获得类的属性和调用方法
- 解决通过NFS挂载文件系统时DHCP无法获得IP地址的问题
- 获得系统字体列表
- 获得系统所有字体
- 枚举获得系统字体
- 抄google工程师的代码:通过读setting的源代码,利用反射机制调用系统隐藏的API
- java 的反射机制 通过反射获得类的私有成员
- java反射机制 以及通过反射获得类的变量字段,方法,构造函数
- java反射机制 以及通过反射获得类的变量字段,方法,构造函数
- 通过java反射机制动态调用某方法的总结
- Java 通过反射机制动态调用java类方法
- PHP通过反射机制调用可变参数方法
- 从Unity引擎过度到Unreal4引擎(最终版)
- spring MVC @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
- Android事件传递机制-View篇
- HTTP JAVA代码发送POST请求
- 委托 匿名 Lambda的区分
- 通过反射机制获得系统字体Size【ActivityManagerNative无法调用问题】
- iOS中CoreLocation定位的代理方法不执行的解决办法。
- ListView设置滑动到底部自动加载 重复多次加载问题
- dojo 1.10 学习日记-Hello Dojo!
- acm-最小生成树(prim)
- Beautiful的用法
- UITableView全面讲解
- oracle数据库的多行函数
- C# Window编程随记——读取.txt文件内容