在应用里面获取系统字体大小


设置里面 获取字体大小

  1. public static float getFontSize() {  
  2.         Configuration mCurConfig = new Configuration();  
  3.         try {  
  4.             mCurConfig.updateFrom(ActivityManLagerNative.getDefault().getConfiguration());  
  5.         } catch (RemoteException e) {  
  6.             Log.w(TAG, "Unable to retrieve font size");  
  7.         }  
  8.   
  9.         Log.w(TAG, "getFontSize(), Font size is " + mCurConfig.fontScale);  
  10.         return mCurConfig.fontScale;  
  11.   
  12.     } 

其他应用,比如 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 去掉这句就可以了哦!


阅读更多
个人分类: android应用基础
上一篇Android 应用 横竖屏切换时Activity 被销毁 进程被kill 掉
下一篇文章标题
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭