Android 将screenOrientation设置为纵向不';行不通

Android 将screenOrientation设置为纵向不';行不通,android,screen-orientation,Android,Screen Orientation,我想在纵向模式下运行我的应用程序,我知道这不是最佳实践,但有理由这样做。虽然我已经禁用了旋转,但它仍然可以在某些视图上旋转,而在其他视图上则不能 我的Android清单中有这部分代码: <activity android:name="<name>.app.MainActivity" android:label="@string/app_name" android:configChanges="keyboardHidden|key

我想在纵向模式下运行我的应用程序,我知道这不是最佳实践,但有理由这样做。虽然我已经禁用了旋转,但它仍然可以在某些视图上旋转,而在其他视图上则不能

我的Android清单中有这部分代码:

 <activity
        android:name="<name>.app.MainActivity"
        android:label="@string/app_name"
        android:configChanges="keyboardHidden|keyboard|locale|orientation"
        android:screenOrientation="portrait">

我使用片段根据用户输入显示不同的容器

这是唯一有片段的活动。
我在这个网站上尝试了一些解决方案。包括按代码设置纵向模式,您可以执行以下操作

在java中的rootView之后添加这一行

 getActivity().setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);  // programmatically
例如:

View rootView = inflater.inflate(R.layout.activityxml, container, false);       
getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
并且在你的清单中改变它:

android:configChanges=“方向|键盘隐藏”

作为

android:configChanges=“键盘隐藏”


在super.onCreate.first行代码之前使用下面的代码。它强制活动为纵向(当然是纵向的两侧)

您输入的代码android:configChanges=“screenSize | orientation”只需强制活动在rotate上不要错过其统计信息(onCreate调用一次,如果rotate onPause将调用)

尝试此代码

 <activity android:name="com.myActivity" android:screenOrientation="portrait"
                android:configChanges="keyboardHidden|orientation"
                >
            </activity>

添加Android清单:

 <activity
        android:name="<name>.app.MainActivity"
        android:label="@string/app_name"
        android:configChanges="keyboardHidden|keyboard|locale|orientation"
        android:screenOrientation="portrait">

这不会改变应用程序的行为。但是thnx用于输入。
 <activity android:name="com.myActivity" android:screenOrientation="portrait"
                android:configChanges="keyboardHidden|orientation"
                >
            </activity>
tools:ignore="LockedOrientationActivity"
android:screenOrientation="portrait">