Android sp vs dp文本 - 什么会调整'规模'以及支持的理念是什么

Sam*_*Sam 22 android textview android-fonts

所以我们从许多其他帖子中知道我们应该在Android中使用sp而不是dp来处理文本,我们知道这样做的原因是尊重"用户的偏好".

但究竟这些偏好是什么?用户如何更改此设置?

我无法通过手机上的设置找到任何参考(我希望在"辅助功能"或"显示"中有所体现).那么什么是用户设置?它只是通过像"大字体"这样的应用程序来完成的吗?

假设它(由大字体设置) - 我使用Google Docs和其他一些字体设置为130%的Google应用程序.虽然大多数布局保持良好,但有些布局有点切断且无法读取(这是在大屏蔽的SGS2上).那么,使用'sp'开发具有文本大小的应用程序的方法是什么?我们是否确保它可以100%缩放,然后忽略其他设置 - 将其称为用户可以担心的特殊情况,或者我们是否竭尽全力确保事物扩展或可滚动,以防文本溢出?

一个论点是我们应该使用'dp'来保证用户有机会看到文本(即使他们必须使用放大镜)

思想/评论?

Jos*_*arl 53

它在某些Android设备的设置菜单中显示(取决于制造商).某些可访问性选项(取决于设备)也可能会更改它.

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

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

简而言之:将文本大小增加大约5sp会导致文本无法读取或破坏您的UI?如果是,则使用与密度无关的像素.如果不是,请使用与比例无关的像素.但是,您通常应尽可能使用与比例无关的像素,这意味着设计可以适应不同文本大小的UI.

  • 如果您需要将文本放入已知大小的框中,那么实际上最好使用 `sp` 作为块大小(而不是使用 `dp` 来表示文本) (2认同)

wsa*_*lle 6

使用sp单位因为在ICS以上建议文本(可能是太蜂窝,纠正我,如果我错了),还有就是对用户的字体大小的偏好.因此,如果您使用Gingerbread或更低版本,您将无法找到此设置.

首选项在"设置","显示","字体大小"下."设置","辅助功能","大文本"下也有一个选项.

要解决有关如何使用的问题sp,请注意,默认情况下,不更改任何字体大小首选项,1sp等同于1dp(同样,它们在引入首选项之前是等效的).就像你已经注意到的那样,为用户拥有大量文本的情况进行设计可能需要你假设事情需要滚动到你可能没想到的地方.