【问题标题】:Why use unpredictable dips in Android instead of predictable pts?为什么在 Android 中使用不可预测的下降而不是可预测的点?
【发布时间】:2011-10-21 11:42:32
【问题描述】:

72 pts 总是等于 1 英寸,但 160 dip is not always equal to 1 inch

因此,为什么人们建议我们使用 dips 而不是 pts?

我们的维度基于可预测的点而不是不可预测的下降不是更好吗?

【问题讨论】:

    标签: android dimensions


    【解决方案1】:

    您应该使用 dip(Density Indepentdent Pixel)的原因是这样您的应用程序将支持多种屏幕尺寸。这意味着如果您将值设置为 100dip,它将在低密度屏幕 (ldpi) 上转换为 75px,在中等密度屏幕 (mdpi) 上转换为 100px,在高密度屏幕 (hdpi) 上转换为 150px,在额外屏幕上转换为 200px高密度屏幕 (xhdpi),但布局在每个屏幕上看起来都相同(但会缩放到屏幕密度)。

    使用 pt 的唯一原因是,如果您确实需要精确的尺寸并且不关心屏幕密度(我不知道什么时候会出现这种情况)。


    您应该通读这篇文章以更好地理解为什么 dp/dip 是要走的路:

    Supporting Multiple Screens

    这个类似的问题也很好地解释了不同单位之间的区别:

    Difference of px, dp, dip and sp in android

    【讨论】:

    • 但是 45 pts 并不是一个精确的尺寸。它可能会被翻译成小屏幕上的 50 像素,普通屏幕上的 100 像素和大屏幕上的 150 像素,就像 100 dip 不是是吗?
    • 查看以上链接。他们会更深入地解释。
    【解决方案2】:

    始终使用 dip(设备独立像素),这将尊重您正在运行的设备的宽度和高度。因此,通过使用 dip,所有设备的布局都是相同的。

    【讨论】:

      【解决方案3】:

      如果您希望您的应用仅在单一设备或单一分辨率下运行,您可以使用 pts.如果您希望您的应用程序在多种分辨率下工作(我认为您会这样做),您最好使用 dip 或 dp。使用模拟器以不同的分辨率尝试您的应用程序,您会看到问题所在。应用在不同分辨率下的外观会有所不同。

      【讨论】:

      • 因此,请始终使用 dip,因为这样即使您认为您现在只想将应用程序放在单个设备上,您也可以面向未来。
      猜你喜欢
      • 2016-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-09
      • 2019-06-14
      • 2015-10-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多