【问题标题】:How do you all deal with the accessibility settings of font size and display size?大家是如何处理字体大小和显示大小的可访问性设置的?
【发布时间】:2021-06-27 16:06:58
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: java android textview android-accessibility android-textview-autosize


    【解决方案1】:

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

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

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

    我写了一篇博客文章,更详细地介绍了其中一些:Accessible Text Scaling for Android

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      这是文档的链接:Dimensions

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-12-23
        • 1970-01-01
        • 1970-01-01
        • 2016-04-15
        • 1970-01-01
        • 2021-07-05
        • 2021-11-16
        • 2018-01-09
        相关资源
        最近更新 更多