2

Android を縦向きまたは横向きで表示できるようにするオプションをユーザーが変更できるようにしたいと思います。私がしていることは、ユーザーが好みを設定し、それをプログラムに強制できるようにすることです。

この時点で、私は内部で次のようなコードを使用していますonCreate:

prefs = PreferenceManager.getDefaultSharedPreferences(this);
if (prefs.getBoolean("landscapeModeEnabled", false)) {
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
else { 
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}

super.onCreate(savedInstanceState);

問題は、画面が「強制」方向でない場合、Activity を 2 回作成することです。つまり、ユーザーが横向きにしたい場合、デフォルト (縦向き) の携帯電話は画面を 2 回読み込みます。

XML を使用してこれを設定できることはわかっていますが、それではユーザーが向きの設定を変更することはできません。

それが重要な場合は、 Action Bar SherlockSherlockFragmentActivityから使用しています。

4

1 に答える 1

1

次のような 2 つのアクティビティがあります。

mアクティビティランド

mActivityPort

の方向が異なりManifestます。

前のアクティビティの設定を確認し、それぞれを起動しますActivity。おそらく最善の解決策ではありません:(

于 2013-02-18T05:35:06.927 に答える