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