我想以纵向模式运行我的应用,我知道这不是最佳做法,但有理由这样做。虽然我已经禁用了旋转,但它仍然可以在某些视图上旋转,但它不会在其他视图上旋转。
我的Android Manifest中有这部分代码:
<activity
android:name="<name>.app.MainActivity"
android:label="@string/app_name"
android:configChanges="keyboardHidden|keyboard|locale|orientation"
android:screenOrientation="portrait">
我根据用户输入使用片段显示不同的容器。
这是唯一具有碎片的活动。 我在这个网站上尝试了一些解决方案。包括按代码设置纵向模式
答案 0 :(得分:6)
你可以像下面这样做
在java中的rootView之后添加此行
getActivity().setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); // programmatically
对于Ex:
View rootView = inflater.inflate(R.layout.activityxml, container, false);
getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
And also in your manifest change it
android:configChanges="orientation|keyboardHidden" as android:configChanges="keyboardHidden"
<activity
android:name="com.test.activity"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:configChanges="keyboardHidden" >
答案 1 :(得分:0)
在super.onCreate.first代码行之前使用下面的代码。强制活动到肖像(当然是肖像的两面)
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
您输入的代码android:configChanges =&#34; screenSize | orientation&#34;只是强迫活动不要错过旋转的统计数据(onCreate只调用一次,如果旋转onPause将调用)
答案 2 :(得分:0)
试试这段代码
<activity android:name="com.myActivity" android:screenOrientation="portrait"
android:configChanges="keyboardHidden|orientation"
>
</activity>
答案 3 :(得分:0)
添加Android清单:
tools:ignore="LockedOrientationActivity"
android:screenOrientation="portrait">