设置里面 获取字体大小
- public static float getFontSize() {
- Configuration mCurConfig = new Configuration();
- try {
- mCurConfig.updateFrom(ActivityManLagerNative.getDefault().getConfiguration());
- } catch (RemoteException e) {
- Log.w(TAG, "Unable to retrieve font size");
- }
- Log.w(TAG, "getFontSize(), Font size is " + mCurConfig.fontScale);
- return mCurConfig.fontScale;
- }
其他应用,比如 Launcher2, 因为 设置里面是ActivityManagerNative.getDefault()获得隐藏接口 IActivityManager的实例, 这里不可以直接使用,导入包android.app.ActivityManagerNative 也是不行的,因为没有这个包;
那怎么办呢? 其实很简单, 这样就可以了·
public static float getFontSize() {
Configuration mCurConfig = new Configuration();
Log.w(TAG, "getFontSize(), Font size is " + mCurConfig.fontScale);
return mCurConfig.fontScale;
}
但是 这样能获取系统字体大小, 想要修改更新系统字体 就需要 mCurConfig.updateFrom(ActivityManLagerNative.getDefault().getConfiguration());
那就必须能引用隐藏接口 IActivityManager 是 属于@hide API
关键是 Android.mk 里添加LOCAL_SDK_VERSION := current 后就不能使用 @hide API·
在应用里面ndroid.mk 去掉这句就可以了哦!