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

原创 2015年07月09日 10:23:13


设置里面 获取字体大小

  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 去掉这句就可以了哦!


安卓怎样获取当前项目中默认的字体大小?

在安卓开发的过程中我们通常会需要用到默认的字体大小,但是怎样获取当前字体大小...
  • Cyx77520
  • Cyx77520
  • 2016年08月26日 11:44
  • 1480

android通过读取系统属性设置字体缩放的默认值

如下图,android中的默认字体大小可以通过以下方法进行修改,为了使用方法,引入系统属性作为辅助手段。 打开文件android/frameworks/base/core/java/androi...
  • quannii
  • quannii
  • 2014年01月10日 17:29
  • 5162

Android 如何获取系统字体大小

public static float getFontSize() { Configuration mCurConfig = new Configuration(); ...
  • chr8880
  • chr8880
  • 2012年09月26日 15:56
  • 5663

修改android系统字体大小

1)修改字体大小的方法涉及到一个ActivityManagerNative的类,而这个类是hide,类型。因此需要在源码环境中编译,或者使用反射,我使用java的反射来实现调用。 2)成功编译出ap...
  • hxdanya
  • hxdanya
  • 2012年05月22日 11:23
  • 21791

Android系统字体大小如何影响app的字体大小?

在Android应用开发过程中,一定会碰到本来完美的布局,在系统字体大小设置【最大】时变成一团浆糊。解决办法网上也有很多,但是分析原理的却几乎没看到。但是作为开发人员必须懂得举一反三,而要举一反三就必...
  • javine
  • javine
  • 2016年12月25日 00:54
  • 2143

Android改变字体大小,适应区域宽度

Android改变字体大小,适应区域宽度在Android中显示文字一般使用的是TextView,有时候我们需要全部显示,但是TextView长度固定,在不换行的前提下,动态改变字体的大小,适应文字所在...
  • u012724947
  • u012724947
  • 2016年04月21日 12:06
  • 1304

修改Android系统字体大小

这两天做项目需要在代码里修改android系统的字体大小,本来以为和修改系统音量亮度一样,是挺简单的一件事情,没想到其中大有文章。这是因为android没有提供我们一个方法在应用层直接修改系统字体大小...
  • u011791526
  • u011791526
  • 2016年08月08日 13:42
  • 1289

Android中修改默认字体的大小----fontScale

有客户需求要修改系统中默认字体的大小。 一般的步骤是,在frameworks/base/core/java/android/content/res/Configuration.java文件中,修改函数...
  • hanhan1016
  • hanhan1016
  • 2016年05月25日 16:27
  • 4360

Android系统下不同字体的环境判断

在java代码中就已经有了关于当前系统语言的判断: Locale locale = Locale.getDefault();   System.out.println(locale.g...
  • wodehao123456789
  • wodehao123456789
  • 2017年02月23日 17:06
  • 328

获取系统默认字体

CFont   font;     font.CreateStockObject(SYSTEM_FONT);     LOGFONT lf;     memset(&lf,   0,   ...
  • sfcyyc
  • sfcyyc
  • 2008年06月25日 13:38
  • 2093
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在应用里面获取系统字体大小
举报原因:
原因补充:

(最多只允许输入30个字)