2

こんにちは私は自分のレイアウトをすべての向きの画面タイプ(風景/ポートレート)と互換性を持たせようとしています。そのために私はとを使用layout-landしていlayout-portます。

これは、2つの向きの位置(横向きと縦向き)しかないデバイスでは機能しますが、4つの向きの位置(横向き/右向き、ポートを上下逆さま/上下向き)をサポートするデバイスを回転させると機能しません。デフォルトの土地の位置でのみ機能していますが、デバイスを他の横向きの位置で回転させると、Androidlayout-portはの代わりにレイアウトを選択しますlayout-land

XMLでこの問題を解決するにはどうすればよいですか?または、唯一の解決策は、向きの変更を自分で管理することですか?

4

4 に答える 4

0

ここで、StageOrientationEvent.ORIENTATION_CHANGEイベントのステージを聞いていることに気付くでしょう。イベントが発生すると、ステージの方向は5つになります。デフォルト、左回転、右回転、逆さま、不明です。

http://www.unitedmindset.com/jonbcampos/2010/09/27/air-for-android-screen-orientation/

于 2011-12-01T15:18:50.523 に答える
0

XMLを使用してこれを行うことはできません。プログラマティックにする必要があります。向きの変化を検出するには、 OrientationEventListenerを使用できます

于 2011-12-01T15:20:14.347 に答える
0

targetSDKは2.2である必要があり(reverseLandscapeおよびreversePortraitの向きが導入されたとき... 2.2であったことは間違いありません)、デバイスはこれらの向きをサポートする必要があります。たとえば、Sony Tablet SはreverseLandscapeには入りませんが、reversePortraitには入ります

于 2011-12-01T15:30:40.927 に答える
0

レイアウトランドは機能しているようです。問題は、向きの変更を自分で管理し、2種類の向きしか取らなかったことです。

(私は、アプリのタイトルを取得して横向きに全画面表示にするためだけに向きを管理します。)

でも答えてくれてありがとう

于 2011-12-02T07:39:08.770 に答える