1

每当我使用更大的显示尺寸或字体大小测试这些可访问性设置时,它似乎总是会破坏我的布局的一部分并使其看起来很糟糕。我真的很喜欢自动调整文本的功能,但这些设置的更改似乎使自动调整文本无用。由于我无法弄清楚的原因,更改显示尺寸还会在我的表格行中产生奇怪的洞等问题。加权视图似乎也分解了它们应该如何工作。

我已经看到有几种方法可以解决这些设置并使用户对这些设置的偏好不会影响您的应用程序。你们都这样做吗?

我了解用户设置的实用性。但是,这似乎是任意实现的,因为作为开发人员,为了使布局与这些设置一起工作,您可能必须从一开始就缩小文本大小(如果用户选择这样做,以适应更大的字体),如果您不尝试容纳更大的字体大小来适应,这将导致您作为开发人员首先选择的文本大小完全相同。我也相信我听说 IOS 不允许这些可访问性设置影响第三方应用程序。

我只是好奇你们是如何处理这个问题的。谢谢。

4

2 回答 2

1

通过使用dp代替. 可以忽略用户的首选字体大小sp。显示尺寸也一样,如果你真的想要,你可以检查电流密度并根据它绘制一些东西,仍然把尺寸缩小。这不是一个好方法。虽然您的布局不会破坏这种方式,但喜欢更大字体/显示尺寸的用户仍然无法使用您的应用程序,因为他们需要更大的文本大小。

您可以使用一些不同的技术来使布局更好地扩展:

  • 在布局中使用minHeight/minWidth属性,而不是硬编码视图的大小。
  • 检查约束布局中的约束是否在两个方向上绑定,而不仅仅是开始。
  • 允许文本视图占用多行,添加省略号选项,用户可以单击以查看更多信息。

我写了一篇博客文章,更详细地介绍了其中的一些内容:Android 的可访问文本缩放

然而,有时,为所有场景修复它需要重新考虑设计。

对于 iOS,字体设置也会影响所有第三方应用程序,而不仅仅是 Android 的事情。

于 2021-07-10T14:15:01.333 回答
0

通常,您应该始终使用与比例无关的像素,尤其是对于大量文本。

但是,如果您的文本必须适合已知大小的边界框,那么您应该使用与密度无关的像素,以确保文本始终正确适合,并且无论用户的设置如何,所有字符都是可见的。

实际上,设置字体大小仅影响 sp 中的大小。所以您需要做的所有事情 - 在 dp 而不是 sp 中定义 textSize,然后设置不会改变您应用中的文本大小。

这是文档的链接:尺寸

于 2021-06-27T20:29:44.360 回答