【发布时间】:2015-04-17 15:32:30
【问题描述】:
如果布局有android:layout_width="160dp",它会在 hdpi Nexus S 模拟器上呈现一半屏幕。
我原以为 Nexus 4 模拟器 (xhdpi) 和 Nexus 5 模拟器 (xxhdpi) 会相应地进行缩放,并向我展示占据一半屏幕的布局,但他们没有。他们不到一半(2/5 ish)。
我错过了什么?我认为 XML 环境总是使用特定的屏幕,所以我可以从那里进行计算。
如果 320dp = 480px / (240dpi / 160) 并且 Nexus S 是 hdpi(高)~240dpi。有道理,它的 160dp 是屏幕的一半。
然后,Nexus 5 是 xxhdpi(超超高)~480dpi,具有高清分辨率。
所以,1080px / (480dpi / 160) = 360dp!
什么?为什么?!
当我想分割我的屏幕资源时,我应该避免使用 dp 吗?靠重量和格子?
【问题讨论】:
-
屏幕宽度并不总是相同的。所以如果你想把屏幕分成两半,你肯定应该使用权重
-
@DerGolem,编辑谢谢。
-
@Budius,想发表答案吗?
标签: android android-layout dpi