1

デバイスの向きが変わってもコンテンツ ビューが変わらないようにアクティビティを設定しようとしています。問題は、向きを変更するたびに (縦向きから横向き、または横向きから縦向きに)、レイアウトが更新され、再読み込みされることです。レイアウトが更新されないようにしたい。どうすればそのタスクを達成できますか?

onConfigurationChanged メソッドは次のとおりです。

  public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
    if(newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE){
        Log.d(Global.TAG, "LANDSCAPE");
    }
    if(newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
         Log.d(Global.TAG, "PORTRAIT");
    }

}

これが私の活動のマニフェストです:

<activity
            android:name="com.inturnex.safecam.MainActivity"
            android:configChanges="orientation|screenSize|keyboardHidden"
            android:label="@string/app_name"
            android:theme="@android:style/Theme.NoTitleBar" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

1 に答える 1

1

画面の下部に配置するように構成している場合はLinearLayout、Android が認識している限り同じ位置であるため、下部に移動します。画面の回転後に が画面の下部に表示されないようにする場合LinearLayoutは、横向きと縦向きの両方の xml を定義できます。Android は、実行時の向きに基づいて適切なものを自動的に使用します。

使用するレイアウトを Android に伝える方法に関する関連する開発者ガイドを次に示します。

于 2013-08-09T17:31:51.223 に答える