Xamarin.Forms android - 调整控件大小以考虑辅助功能设置

时间:2018-02-14 18:32:52

标签: android xamarin.forms accessibility

在Android上,由于可访问性原因,用户可以设置更大的字体。

像这样的讨论会详细介绍命名或固定(数字)大小如何/是否会受到辅助功能设置的影响。

我的问题略有不同。有没有办法调整控件的大小来考虑字体大小?使用我们的应用程序,如果用户在“辅助功能”下设置较大的字体大小,则按钮,Infragistics DataGrids,ListViews等中的文本不适合其控件。我错过了什么吗?

1 个答案:

答案 0 :(得分:3)

  

用户可以出于可访问性原因设置更大的字体。

您可以尝试使用以下代码来实现此功能:

 private void initFontScale()
 {
      Configuration configuration = Resources.Configuration;
      configuration.FontScale = (float)1.45;
      //0.85 small, 1 standard, 1.15 big,1.3 more bigger ,1.45 supper big 
      DisplayMetrics metrics = new DisplayMetrics();
      WindowManager.DefaultDisplay.GetMetrics(metrics);
      metrics.ScaledDensity = configuration.FontScale * metrics.Density;
      BaseContext.Resources.UpdateConfiguration(configuration, metrics);
}

protected override void OnCreate(Bundle bundle)
{
    initFontScale();
    ...
}
  

像这样的讨论会详细介绍命名或固定(数字)大小如何/是否会受到辅助功能设置的影响。

我真的不明白你的意思,如果你需要为你的应用程序设置一个固定的文字大小,你可以参考:

how to prevent system font-size changing effects to android application?