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

标签 android xamarin.forms accessibility

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

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

我有一个稍微不同的问题。有没有办法调整控件的大小以适应字体大小?对于我们的应用程序,如果用户在辅助功能下设置了较大的字体大小,那么按钮、Infragistics DataGrids、ListViews 等中的文本将不适合他们的控件。我错过了什么吗?

最佳答案

it's possible for the user to set a larger font for accessibility reasons.

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

 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();
    ...
}

Discussions like this one go into some details on how/whether the named or fixed (number) sizes are affected by accessibility settings.

不太明白你的意思,如果你的应用需要设置固定的文字大小,可以引用:

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

关于android - Xamarin.Forms android - 调整控件大小以考虑辅助功能设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48793995/

相关文章:

Android:如果文本字段很长,图像不显示

安卓 : Square and square root sign

Android Studio - 终止进程重新启动应用程序?

xamarin - 每次我恢复我的应用程序时都会调用 MainActivity OnCreate。 (Xamarin 形式)

Xamarin.forms Material 条目占位符大小

javascript - VoiceOver 不会对 anchor 使用react并正确改变 iOS 上的焦点

iOS 辅助功能 – 检测颜色过滤器是否打开?

java - 自定义类的构造函数中的 InvokingTargetException

c# - 如何使用 x :Object and when?

ios - UITableView subview 中的辅助功能丢失