1

ブール値を使用した単純なアクティビティがあります。そのブール値が false である場合にのみ、ポートレートからランドスケープに変更したい (もちろん、画面の向きが変更された場合のみ)。

私はこれを試しました:

    @Override
    public void onConfigurationChanged(final Configuration newConfig) {
        super.onConfigurationChanged((listening) ? getListeningConfiguration(newConfig)
                : newConfig);
        setContentView(R.layout.medidor);
        preconfigureLayout();
    }

    public Configuration getListeningConfiguration(final Configuration c) {
        c.orientation = Configuration.ORIENTATION_PORTRAIT;
        return c;
    }

しかし、それは単に機能しません。

変更可能であると伝えない限り、アクティビティを強制的にポートレート状態に保つにはどうすればよいですか?

4

2 に答える 2

5

アクティビティタグのマニフェストファイルに追加

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

これにより、アクティビティが縦向きモードに保たれます。次に、コードを使用して向きを変更します。

于 2012-12-17T09:21:36.847 に答える
4

これを呼び出すだけで、縦向きに保つことができます。

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

それはトリックを行う必要があります

于 2012-12-17T08:18:52.037 に答える