如何在我自己的Android应用程序中设置字体比例?

时间:2011-07-22 06:29:32

标签: android fonts size scale

我想允许用户选择字体大小。

备件确实提供了这样做的功能,

  

ActivityManagerNative.getDefault()。updateConfiguration(新字体大小比例配置)

但这适用于所有Android应用程序。我想在我的应用程序的首选项中添加它,只对我的应用程序产生影响。

我尝试了以下方法,它有时会起作用,但是第一次启动我的应用程序时,字体大小仍然是1.0比例。我不是为什么。我在我的活动的每个onCreate中添加了以下代码。

  

配置config = resources.getConfiguration(); config.fontScale = 1.5F;   resources.updateConfiguration(config,mDisplayMetrics);

我该怎么办?

3 个答案:

答案 0 :(得分:15)

下面的代码只允许为应用程序更改字体比例。 在第二行,代码" configuration.fontScale =(float)1;"将不得不满足您的需求。默认值为0.15步,默认为1。

在调用setContentView(R.layout.yourlayout)

之前放置它
Configuration configuration = getResources().getConfiguration();
configuration.fontScale=(float) 1; //0.85 small size, 1 normal size, 1,15 big etc

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
metrics.scaledDensity = configuration.fontScale * metrics.density;
getBaseContext().getResources().updateConfiguration(configuration, metrics);

希望这有帮助!

答案 1 :(得分:0)

我认为您要寻找的是将主题应用于您的活动或视图

请查看android docs Themes

答案 2 :(得分:0)

翻译为Xamarin。...

private