根据屏幕分辨率进行不同的布局 - Android

3

我正在尝试为不同的屏幕分辨率使用不同的布局

并且我已经成功做到了。

我的问题是,我需要大型和超大型布局仅支持横向方向

而普通和小型则支持纵向。我在res文件夹中只使用Layout-large-land和Layout-xlarge-land,它也会使用纵向。同样,对于普通和小型,它也会使用横向和纵向。那么我该如何在Java文件中编程根据屏幕分辨率设置方向呢?

有人能帮帮我吗?


1
尝试查看这里的答案,然后使用该信息根据这里设置方向。 - TronicZomB
实际上,您说您想根据屏幕分辨率设置方向,但您使用的是针对屏幕尺寸的布局文件夹名称。这些是两个不同的值。例如,Nexus 是一个 4 英寸的屏幕,将其放入普通桶中,但其分辨率将其放入高密度(或超高密度,记不清了)桶中。您可能需要澄清您确切想要什么。 - TronicZomB
1个回答

5

您需要在Activity的onCreate方法中调用此方法:

if ((this.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK)  <= Configuration.SCREENLAYOUT_SIZE_NORMAL) {
            this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    }

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