我想允许用户选择字体大小。
备件确实提供了这样做的功能,
ActivityManagerNative.getDefault()。updateConfiguration(新字体大小比例配置)
但这适用于所有Android应用程序。我想在我的应用程序的首选项中添加它,只对我的应用程序产生影响。
我尝试了以下方法,它有时会起作用,但是第一次启动我的应用程序时,字体大小仍然是1.0比例。我不是为什么。我在我的活动的每个onCreate中添加了以下代码。
配置config = resources.getConfiguration(); config.fontScale = 1.5F; resources.updateConfiguration(config,mDisplayMetrics);
我该怎么办?
答案 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