在Android中,您可以通过适当命名res目录来为不同的手机属性定义不同的资源。我需要支持480x800
和480x854
的不同布局。我想我可以将一组资源存储在layout-hdpi-v4目录中,另一组存储在layout-long-hdpi-v4目录中。然而,两种分辨率似乎都认为它们是长的(至少基于模拟器,我理解这可能不准确反映设备)。
是否有其他方法可以区分这两种分辨率/纵横比?
在Android中,您可以通过适当命名res目录来为不同的手机属性定义不同的资源。我需要支持480x800
和480x854
的不同布局。我想我可以将一组资源存储在layout-hdpi-v4目录中,另一组存储在layout-long-hdpi-v4目录中。然而,两种分辨率似乎都认为它们是长的(至少基于模拟器,我理解这可能不准确反映设备)。
是否有其他方法可以区分这两种分辨率/纵横比?
有一个屏幕尺寸限定符,但它已被弃用并建议不再使用:
layout-800x480
,layout-854x480
除此之外,在资源命名中似乎没有支持的方式可以区分这两种分辨率,除非使用灵活的布局来扩展额外的屏幕空间。
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
您可以查看字段widthPixels
和heightPixels
。
但是,也请阅读最佳屏幕独立实践。