2012-04-24 12 views
0

に異なる動作をします。 1.スマートフォン「setRequestedOrientation」のテストでアクティビティが破棄され、再度画面の向きが変更されます。 2.タブレット端末でテストする場合、このコードは1回だけアクティビティを実行します。 "setRequestedOrientation"の後は、破棄することなくそのまま継続し、再びアクティビティを作成します。これは、onCreateでデバッガを使用せずに、またはブレークポイントなしでスタートコードを実行する場合に発生します。 onCreate関数で停止した場合 - ログに表示されます - 破棄し、再びonCreateを実行します。 タブレットで特定の状況を捉えるにはどうすればよいですか?Androidの画面の向きの変更は、私がして活性を有するタブレット

更新日: - 「Orientation lock」がオフの場合、タブレットの問題が発生します。 「オリエンテーションロック」が有効になっている場合、プログラムはスマートフォンと同じように動作します。

UPDATE2: - アプリケーション全体に優先スクリーンの向きを設定できますか?それで、アクティビティが所望の向きを知り始めるとき。これは、不自然な呼び出し 'setScreenOrientation'を行い、2回目のアクティビティ作成を回避します。

答えて

0

ありません..あなたは、アプリケーション全体用兼ね備え画面の向きを設定することができない...代わりにあなただけのそれぞれのactiviesにsetScreenOrientationために呼び出す必要があります... Refere this link here...

0

あなたはあなたのAndroidマニフェストファイルに

<activity ActivityName = "test_activity" 
android:configChanges="orientation"> 
</activity> 

を設定することができます。オリエンテーション変更でアクティビティを再開することはできませんが、onconfigurationchangeはnormalyと呼ばれます。 後でonconfigurationchangeでgetdisplayorientationを行い、必要なものを設定できます。

+0

ありがとうございます。私はこのように知っています。 Googleはこれをしないことを強くお勧めします。 – Kostadin

1

この問題に費やした一日後、私は変更を次のよう作ら私のアプリケーションでは: 1.最初の/なしのすべての活動はandroid:screenOrientation = "behind"と宣言されています。 2.最初のアクティビティでは、私のメニューからユーザーが選択したモード/を使用して、優先的な画面の向きを設定しました。 3.メニューオプションでユーザーがモードを変更したときにのみ、setRequestedOrientationを呼び出します。

これにより、アクティビティは1回だけ作成されます。最終的に:)

関連する問題