手机的纵向,平板电脑的横向(Android-Layout)

2022-09-01 22:53:21

因此,我正在为Android制作一个应用程序,我想强制平板电脑的横向方向和手机的纵向方向。但是,似乎我只能从我所看到的情况进行方向锁定,这违背了为设备提供两个单独方向的目的。

平板电脑:横向手机:纵向

说得更懂技术。

我在“res/layout-xlarge-land”中有一个布局,用于在平板电脑上进行景观美化,我在“res/layout”中有原始布局,我只想明确使用布局- xlarge-land作为平板电脑。没有别的,基本上只对超大设备使用横向。

谢谢!


答案 1

根据设备密度设置特定方向可能不起作用,因为有些手机的密度高于平板电脑。

我所做的是通过在清单文件中的活动标记中设置属性来禁用设备的方向传感器,如下所示:

android:screenOrientation="nosensor"

运行应用时,默认情况下,手机设置纵向方向,平板电脑设置横向(因此,它将从 中选择 xml 文件)。由于您已经设置了方向锁定,因此它将保持此方向。layout-xlarge-land


答案 2

您可以测量设备的实际大小(以英寸为单位),然后使用以下命令以编程方式设置方向:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

若要获取设备的物理大小,可以使用此处发布的代码。

它不是100%准确的,但它足以决定哪个设备之王正在运行该应用程序。


推荐