1

MyActivity をランドスケープ モードで起動しようとしています。問題は、現在ポートレート モードで起動され、その後ランドスケープ モードになることです。

次のように AndroidManifest.xml で MyActivity を定義しました。

<activity
        android:name="com.myproject.MyActivity"
        android:configChanges="keyboardHidden|orientation|screenSize"
        android:launchMode="singleTop"
        android:screenOrientation="landscape"
        android:taskAffinity="com.myproject"
        android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
</activity>

アクティビティを強制的に横向きモードで起動する方法はありますか?

4

4 に答える 4

3

onConfigurationChangedメソッドをオーバーライドしてみてください。

    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
    }
于 2013-04-10T04:33:14.617 に答える
2

パフォーマンスを保証するには、両方のパーツが必要です。

MainActivity.java、次のように入力します。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}

次に、AndroidManifest.xml構成の変更を防ぐために、次の内容を に含めます。

    <activity
        android:name="com.myproject.MyActivity"
        android:configChanges="orientation|screenSize"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

それはうまくいくはずです!

于 2016-11-02T22:28:30.047 に答える