Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么在Android中使用不可预测的下降而不是可预测的下降?_Android_Dimensions - Fatal编程技术网

为什么在Android中使用不可预测的下降而不是可预测的下降?

为什么在Android中使用不可预测的下降而不是可预测的下降?,android,dimensions,Android,Dimensions,72分始终等于1英寸 因此,为什么人们建议我们使用dips而不是pts 将我们的尺寸基于可预测的pts,而不是不可预测的下陷,这不是更好吗?始终使用下陷(设备独立像素),这将考虑到您正在运行的设备的宽度和高度。因此,通过使用dip,所有设备的布局都将相同。您应该使用dip(密度独立像素)的原因是,这样您的应用程序将支持多种屏幕尺寸。这意味着,如果将值设置为100dip,则低密度屏幕(ldpi)上的值将转换为75px,中密度屏幕(mdpi)上的值将转换为100px,高密度屏幕(hdpi)上的值将转

72分始终等于1英寸

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


将我们的尺寸基于可预测的pts,而不是不可预测的下陷,这不是更好吗?

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

您应该使用dip(密度独立像素)的原因是,这样您的应用程序将支持多种屏幕尺寸。这意味着,如果将值设置为100dip,则低密度屏幕(ldpi)上的值将转换为75px,中密度屏幕(mdpi)上的值将转换为100px,高密度屏幕(hdpi)上的值将转换为150px,超高密度屏幕(xhdpi)上的值将转换为200px,但每个屏幕上的布局看起来都相同(但按屏幕密度缩放)

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


您应该通读这篇文章,以更好地理解为什么dp/dip是一条可行之路:

同样,这个类似的问题很好地解释了不同单元之间的差异:


如果你想让你的应用程序只在一台设备或一种分辨率下工作,你可以使用pts。如果你想让你的应用程序在多种分辨率下工作(我想你会),你最好使用dip或dp。使用emulator在不同的分辨率上试用你的应用程序,你会发现问题所在。应用程序在不同的分辨率下看起来会有所不同。

但45分不是一个精确的大小。。它可能会在小屏幕上转换为50px,在普通屏幕上转换为100px,在大屏幕上转换为150px,就像100个dip一样,不是吗?查看上面的链接。他们会更深入地解释。因此,只要始终使用dip,因为这样你就有了未来的证明,即使你认为你现在只想在单个设备上安装一个应用程序。