Android支持不同的度量单位:
他们建议使用 dp 进行布局,使用 sp 进行字体大小。
有人能指出我应该使用其中一种的用例: px , pt , mm 和在?
答案 0 :(得分:2)
XML
中定义的维度值。使用数字后跟度量单位指定维度。例如:10px,2in,5sp。 Android
支持以下度量单位:
<强> 1 强> dp
。:
密度无关像素 - 基于屏幕物理密度的抽象单位。这些单位相对于160 dpi(每英寸点数)的屏幕,其中1dp大致等于1px。在较高密度屏幕上运行时,用于绘制1dp的像素数按照适合屏幕dpi的系数放大。同样,当在较低密度屏幕上时,用于1dp的像素数按比例缩小。 dp与像素的比率将随着屏幕密度而变化,但不一定成正比。使用dp单位(而不是px单位)是一种简单的解决方案,可以使布局中的视图尺寸适当调整以适应不同的屏幕密度。换句话说,它为不同设备的UI元素的实际大小提供了一致性。
<强> 2 即可。sp
与比例无关的像素 - 这与dp单位类似,但它也可以通过用户的字体大小首选项进行缩放。建议您在指定字体大小时使用此单位,以便根据屏幕密度和用户偏好调整它们。
第3 即可。pt
点数 - 基于屏幕物理尺寸的1/72英寸。
PX 像素 - 对应于屏幕上的实际像素。建议不要使用此计量单位,因为实际表示可能因设备而异;每个设备每英寸可能有不同数量的像素,并且屏幕上可用的总像素数可能更多或更少。
<强> 4 即可。mm
毫米 - 基于屏幕的物理尺寸。
<强> 5 即可。in
英寸 - 基于屏幕的物理尺寸。
要更好地了解dip / dp以及使用它们的原因,请观看this视频。
你不需要在android中使用sp的直接值。您可以将textAppearance属性用于预定义值。 Here是关于textAppearance的一些信息。
答案 1 :(得分:0)
Here你有类似的问题和详细的答案。
像素,英寸,毫米和点是在不同屏幕上不同显示的单位。屏幕分辨率可在240x320px和2560x1600之间变化,即使屏幕尺寸相似,反之亦然。只有在你必须使用它们时才使用它们(例如标尺app)。