这是dp单位的定义:(如果它是正确的......)
与密度无关的像素 - 基于屏幕物理密度的抽象单位。这些单位相对于160 dpi的屏幕,因此一个dp是160 dpi屏幕上的一个像素。
那么,对于任何类型的屏幕,宽度为160dp是否等于屏幕宽度的100%?
根据我进行的一些测试,似乎并非如此。
我错了吗?有什么我不明白的吗?
谢谢!
答案 0 :(得分:3)
没有。 160 dp是1英寸(或非常接近)。他们所说的是如果你有一个160 dpi(每英寸点数)的设备,那么1像素= 1dp。在Android的早期,160 dpi很常见。
答案 1 :(得分:0)
高dpi表示每英寸像素密度,因此160 dpi表示1英寸区域内的160像素。
设备长度= 4英寸,设备呼吸= 3英寸 所以面积= 4 * 3 = 12 squreInches 我们有每平方英寸像素= 160像素 所以屏幕中的像素总数= 12 * 160
呼吸中的像素= 12 * 160/4 = 480像素 长度为12 * 160/3 = 640像素
的像素160dp的mdpi设备意味着160像素
所以如果你绘制160dp的线,它将覆盖屏幕的1/3。
因为160/480 = 1/3
因此,请检查并提供您的反馈。
有关详细信息,您可以浏览以下链接。
What is the difference between "px", "dp", "dip" and "sp" on Android?
https://www.captechconsulting.com/blogs/understanding-density-independence-in-android
答案 2 :(得分:0)
没有。 1dp是160ppi屏幕的1px。这意味着160dp将精确到1英寸。 屏幕中的dp数量可以是:
No. Of dp = (size(in px)/pixel density)*160
没有。 1 dp中的像素可以是:
no. Of pixels in a dp =pixel density/160.
在160ppi屏幕上: 1px的=一百六十零分之一百六十〇= 1DP。
在240ppi屏幕上: 1px的=一百六十零分之二百四十○= 1.5dp。
在320ppi屏幕上: 1px的=一百六十零分之三百二十○= 2DP。