1

ランドスケープで同じ状態を維持するにはどうすればよいですか。ランドスケープ モードで画面を腐らせたら、アクティビティが再開され、レイアウト ビューが間違って表示されます。だから私を助けてください。

4

3 に答える 3

1

Bundleinメソッドで状態を保存し、 inまたは でonSaveInstanceState()復元することができます。onCreate()onRestoreInstanceState()

または、方向の変更を無効にする場合は、マニフェスト ファイルにを追加できandroid:screenOrientation="landscape"ます。Activity

于 2012-11-24T08:25:09.803 に答える
0

ランドスケープ モードで同じ状態を保持するには、次android:configChanges="orientation|keyboard" のように現在のアクティビティを追加して、途中で構成の変更を処理する必要があります。

<activity
 android:configChanges="orientation|keyboard"
 ...
 />

または、レイアウトまたはビューを変更するには、Activity を次のようにconfigChangesオーバーライドする必要があります。onConfigurationChanged

@Override
public void onConfigurationChanged(Configuration newConfig)
{
    //Handle config changes here, paying attention to
    //the newConfig.orientation value
    super.onConfigurationChanged(newConfig);
}

onSaveInstanceState()また、構成変更の任意のビューの状態を保存する場合は、TextView、EditText、View Layout などのビューの状態を保存するため、および onRestoreInstanceState()デバイス モードの回転後に状態を取得するためにオーバーライドする必要があります。

ランタイムの変更を処理する方法の詳細については、次の Android トピックも参照してください。

実行時の変更の処理

于 2012-11-24T08:31:34.243 に答える
0

レイアウトがランドスケープ モードで適切に表示されない/収まらないと話している場合は、同じ名前の新しい xml が必要になり、それを「layout-land」という新しいフォルダー内に配置します。それは役立つはずです

于 2012-11-24T08:34:21.307 に答える