0

android:screenOrientation="portrait" によって、自分のアクティビティが縦向きモードのみになるように定義しました。

インテント経由でカメラ機能で写真を撮り、この写真を横向きモードで撮り、保存時に画面を縦向きモードにすると、再びアクティビティに戻ります。私が理解していないのは、短時間のアクティビティが横向きモードであり、破棄されて縦向きモードで再度構築されることです... onCreate と onRestore 関数には時間がかかるため、ユーザーの待機時間は 2 倍になります.. .

回避策か何か他のものはありますか?

4

2 に答える 2

1

android:configChanges="orientation"アクティビティ定義に追加してから、次のようにアクティビティで onCofigurationChanged メソッドをオーバーライドすることにより、向きの変更を明示的に処理するようにアクティビティを登録することもできます。

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}

特定の問題に役立つかどうかはわかりませんが、アクティビティを縦向きモードでのみ表示したいときにこれを行ったことを覚えています. それが役立つかどうか教えてください:)

于 2011-07-21T07:48:42.137 に答える
0

タグに追加android:configChanges="orientation"します。この方法では、方向の変更時にアクティビティが再作成されることはありませんが、無視できる<activity>コールバックを受け取るだけです。onConfigurationChanged

于 2011-07-21T07:49:40.717 に答える