我知道我可以重写onconfigurationchanged()来检测fontscale何时发生了更改。不过,我想在启动时知道mainactivity是否可以访问配置文件,以查看在运行时fontscale是否设置为正常值以外的值,例如1.15(大)
最佳答案
android配置文件,我可以在启动时访问它来检测fontscale吗?
答案是肯定的,您可以将FontScale
更改为正常值以外的值。例如,在应用程序启动时更改FontScale
:
protected override void OnCreate(Bundle bundle)
{
initFontScale();
base.OnCreate(bundle);
...
}
private void initFontScale()
{
Configuration configuration = Resources.Configuration;
configuration.FontScale = (float)1.45;
//0.85, 1 standard, 1.15 bigger, 1.3, 1.45
DisplayMetrics metrics = new DisplayMetrics();
WindowManager.DefaultDisplay.GetMetrics(metrics);
metrics.ScaledDensity = configuration.FontScale * metrics.Density;
BaseContext.Resources.UpdateConfiguration(configuration, metrics);
}