首先,感谢首先给出负面投票。 (我希望尊贵的所谓“专家”至少有10张反对票(不包括那些认为即使是最简单和最小的问题也会造成巨大差异的人))。
所以来到我的问题。
这是一个非常随意的问题,我正在实现一个导航抽屉,标题图像为576x324(比例为16:9)。
根据指南,抽屉的总宽度(以dp为单位)应为
对于像720x1280px屏幕和xhdpi这样的设备
宽度在dp =(720x160)/ 320 - 56(工具栏大小)=> 304dp
高度dp = 304 *(9/16)= 171dp
但设备像google nexus 4,768x1280px具有相同的xhdpi
宽度在dp =(768x160)/ 320 - 56(工具栏大小)=> 328dp
高度dp = 304 *(9/16)= 184dp
所以,对于相同的xhdpi,我有两个不同的宽度和高度。
如何在android中管理这个简单的bug来在dimens.xml文件中创建一个通用的大小?
获取屏幕宽度(int width = Resources.getSystem()。getDisplayMetrics()。widthPixels)
使用此宽度进行计算。
而不是计算抽屉的宽度。你可以做的是为不同的屏幕尺寸准备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
希望能帮助到你。