安卓如何定义屏幕分辨率为长屏?

3

在Android中,您可以通过适当命名res目录来为不同的手机属性定义不同的资源。我需要支持480x800480x854的不同布局。我想我可以将一组资源存储在layout-hdpi-v4目录中,另一组存储在layout-long-hdpi-v4目录中。然而,两种分辨率似乎都认为它们是长的(至少基于模拟器,我理解这可能不准确反映设备)。

是否有其他方法可以区分这两种分辨率/纵横比?

2个回答

3

有一个屏幕尺寸限定符,但它已被弃用并建议不再使用:

layout-800x480layout-854x480

除此之外,在资源命名中似乎没有支持的方式可以区分这两种分辨率,除非使用灵活的布局来扩展额外的屏幕空间。


请注意,hdpi限定符本身将优先于res限定符。因此,如果您决定采用这种不推荐的方法,您需要将其命名为layout-hdpi-854x480。感谢您的回答。 - user230317

2
如果您想在代码中确定屏幕尺寸,DisplayMetrics可以帮助实现。
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);

您可以查看字段widthPixelsheightPixels

但是,也请阅读最佳屏幕独立实践


我熟悉所有这些东西。这是一个独特的案例,我正在移植一个需要将视图沿底部对齐的iPhone应用程序。同时,我的布局需要在480x800屏幕上延伸更长,以避免背景调整为不同的纵横比。否则,使用layout_alignParentBottom就可以解决问题。 - user230317

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接