gpt4 book ai didi

Android - 仅在手机上强制 Activity 为纵向

转载 作者:太空狗 更新时间:2023-10-29 12:44:38 29 4
gpt4 key购买 nike

编辑:我将此编辑放在上面,因为我认为我的问题需要重新措辞。

我的 mainfest 中有一行是针对下面的某个场景:

android:screenOrientation="portrait"
android:configChanges="keyboardHidden|orientation|screenSize"

这会将场景锁定为纵向。我需要的是一种在 java 中以编程方式解锁它的方法,而通常的方法似乎不起作用。我下面的代码块实际上是正确的,只是其他地方的代码不正确,导致它无法正常工作。


我想知道是否有一种方法可以在手机上强制特定 Activity 为纵向,同时在平板电脑或任何其他更大的设备上仍允许它为纵向或横向?

不过,我的情况比大多数类似情况要复杂一些,因为我正在处理的 Activity 继承自另一个我无法更改的 Activity 类。出于某种原因,如果从手机调用 onCreate(),其他 Activity 将崩溃,所以我不能只使用“setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);”在 onCreate() 中,因为当调用 super.onCreate() 时应用程序仍然崩溃。

我已经尝试在 list 中将 Activity 锁定为纵向,然后将其添加到 onCreate:

if(!mIsPhone)
{
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
}

然而,这并没有做任何事情。场景在平板电脑上仍然锁定为肖像。

最佳答案

首先,您可以使用以下方法确定设备是手机还是平板电脑:

public static boolean isTablet(Context context) {
return (context.getResources().getConfiguration().screenLayout
& Configuration.SCREENLAYOUT_SIZE_MASK)
>= Configuration.SCREENLAYOUT_SIZE_LARGE;
}

通过以下方式找到设置的方向后:

setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 

关于Android - 仅在手机上强制 Activity 为纵向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20407369/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com