我应该使用边距时,是使用sp还是dp?

3

我看到有些人在使用sp作为边距,例如:

android:layout_marginLeft="40sp"

尽管很多人都在使用dp,例如:

android:layout_marginLeft="40dp"

请问这两个选项哪个更好,应该在什么情况下使用?非常感谢您的帮助。


1
在TextView、EditText等文本相关的控件中,我们使用“sp”来指定字体大小;而在一般控件的尺寸中,则使用“dp”。 - Shvet
对于边距,也应该使用“dp”。我的意思是,“sp”仅用于文本大小。 - Shvet
好的,谢谢你的澄清。 - user1903022
http://developer.android.com/guide/practices/screens_support.html - SID --- Choke_de_Code
1
可能是Android中px、dp、dip和sp的区别?的重复问题。 - SID --- Choke_de_Code
2个回答

8

sp用于字体大小,dp用于其他所有内容。sp代表可缩放独立像素,dp代表密度无关像素(即dip)。详细解释


感谢您的精确解释。 - user1903022

0
一个由XML定义的尺寸值。维度由数字加上度量单位表示,例如25个像素(px)、5英寸(in)、10dp和10sp。使用 sp/dp 单位,可以使您的Android应用程序兼容广泛的屏幕密度和分辨率。
PX:是像素的缩写,指定屏幕上实际像素。
SP:比例无关像素的缩写。它与dp单位相同,但还根据用户的字体大小选择进行了扩展。
DP:虚拟像素单位,用于以密度无关的方式通信布局尺寸或位置,创建UI布局。密度无关像素对应于160 dpi屏幕上的一个物理像素,这是系统“中等”密度屏幕的基线密度。运行时,系统会根据实际使用的屏幕密度透明地处理所需的 dp 单位缩放。
术语 DP 和 DIP 指基于屏幕物理密度的密度无关像素。
SP:类似于 dp,但还根据用户的字体大小选择进行了缩放。在选择字体大小时,建议使用此单位,以便根据屏幕密度和用户选择进行调整。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接