首先,感谢您首先给予负票。 (我希望光荣的所谓“专家”至少要有10票否定票(不包括那些认为即使最简单和最小的问题也可能造成巨大差异的人)。
那么我的问题。
这是一个非常偶然的问题,我正在实现一个导航抽屉,其标题图像为576x324(比率为16:9)。
根据准则,抽屉的总宽度(以dp为单位)应为
对于720x1280px屏幕和xhdpi之类的设备
dp宽度=(720x160)/ 320-56(工具栏大小)=> 304dp
以dp为单位的高度= 304 *(9/16)= 171dp
但是像google nexus 4这样的设备,具有相同的xhdpi的768x1280px
dp中的宽度=(768x160)/ 320-56(工具栏大小)=> 328dp
以dp为单位的高度= 304 *(9/16)= 184dp
因此,对于相同的xhdpi,我得到两个不同的宽度和高度。
如何在android中管理此简单错误以使dimens.xml文件具有相同大小?
答案 0 :(得分:0)
获取屏幕宽度(int width = Resources.getSystem()。getDisplayMetrics()。widthPixels)
使用此宽度进行计算。
答案 1 :(得分:0)
而不是计算抽屉的宽度。您可以做的是dimens
文件以适合不同的屏幕尺寸。例如landscape and portrait
。用于处理不同的布局。
将宽度存储在dimens
中,因此Android将获取合适的大小。
<!-- Per the design guidelines, navigation drawers should be between 240dp and 320dp:
https://developer.android.com/design/patterns/navigation-drawer.html -->
<dimen name="navigation_drawer_width">240dp</dimen>
有关屏幕尺寸的更多信息:Handling Screen Sizes
希望有帮助。