如何仅将应用程序片段设置为纵向模式?

use*_*690 2 android fragment android-fragments android-fragmentactivity

我有一个Android应用程序,它有一个主要活动和3个碎片是标签.我希望应用程序始终保持纵向模式,但我似乎无法使其正常工作.这是我尝试过的,根据另一个堆栈溢出帖子,但我不确定我做错了什么....如果使用片段需要不同吗?

    <activity
        android:name="com.tutorial.test.activities.act1"
        android:label="@string/app_name" 
        android:screenOrientation="portrait"
        android:configChanges="orientation|keyboardHidden" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
Run Code Online (Sandbox Code Playgroud)

谢谢!!

编辑:ViewPager位于FragmentActivity上,我正在为其设置screenOrientation.

Har*_*ran 14

试试这个..

您可以通过编程方式尝试.

之后rootView在Java中加入这一行getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

对于Ex:

View rootView = inflater.inflate(R.layout.activityxml, container, false);       
getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
Run Code Online (Sandbox Code Playgroud)

并且在您的清单中将其更改android:configChanges="orientation|keyboardHidden"android:configChanges="keyboardHidden"

<activity
        android:name="com.tutorial.test.activities.act1"
        android:label="@string/app_name" 
        android:screenOrientation="portrait"
        android:configChanges="keyboardHidden" >
Run Code Online (Sandbox Code Playgroud)