即时通讯在整个
Android上的逢低混淆.
我从参考文献中了解到,dp值的基数为160.
那么,80dp的宽度是否应该等于屏幕宽度为50%的视图?
在我的Nexus One上,dp的宽度似乎是300dp左右.
我在这里缺少什么?
thx提前
解决方法
“dp”==“密度无关的像素”(这也是为什么它之前被称为“dip”,尽管我最近喜欢使用“dp”.)
可以把它想象成其他单位 – “in”(英寸),“mm”(毫米)等.它允许您提供基于屏幕密度缩放的尺寸.
我们将mdpi定义为基本密度,因此mdpi屏幕上的“10dp”将产生恰好10个像素.在hdpi屏幕上,它将产生15个像素,因为hdpi是1.5 * mdpi.
请注意,尽管各种密度的常数与DPI相似(mdpi为160等),但密度并不完全是DPI.它是一个抽象缩放因子,可以调整屏幕dpi,但不会尝试准确反映它. (你会使用“in”,“mm”等确切的尺寸,但99.9%不是你想要的那么坚持“dp”.)这大大简化了每个人的生活,因为你不需要处理很多Android设备的UI空间量略有不同,因为它们每个都有轻微不同的屏幕DPI.此外,设备制造商可以选择其设备的密度来实现所需的UI – 例如,Samsung Tab使用的密度比实际DPI大很多,从而导致整体UI变大.