Android任意のオリエンテーションXMLレイアウト
-
27-10-2019 - |
質問
こんにちは、私はすべてのオリエンテーション画面タイプ(ランドスケープ/ポートレート)とレイアウトを互換性のあるものにしようとしています。そのために私は使用しています layout-land
と layout-port
.
これは、2つの方向位置(ランドスケープとポートレート)しかないデバイスで機能しますが、4つの方向位置(左/右、ポートの逆さま/逆さま)をサポートするデバイスを回転させる場合は機能しません。デフォルトの土地位置でのみ動作していますが、他のランドスケープ位置でデバイスを回転させると、Androidを選択します。 layout-port
の代わりにレイアウト layout-land
.
XMLでこの問題を解決するにはどうすればよいですか?または、唯一の解決策は、オリエンテーションの変更を自分自身に管理することです。
解決 4
レイアウトランドは機能しているようです。問題は、私が自分で方向の変更を管理し、2種類の方向しか取ったことだということでした。
(アプリのタイトルを削減し、ランドスケープでフルスクリーンにするためだけにオリエンテーションを管理しています。)
でも答えてくれてありがとう
他のヒント
ここでは、StageOrientationEvent.Orientation_Changeイベントのステージを聞いていることに気付くでしょう。イベントが発砲すると、ステージが存在する可能性のある5つの可能な方向があります。
http://www.unitedmindset.com/jonbcampos/2010/09/27/air-for-android-screen-orientation/
XMLを使用してこれを行うことはできません。あなたはプログラマティックをしなければなりません。オリエンテーションの変更を検出するには、使用できます OrientationEventListener
TargetSDKは2.2でなければなりません(ReverselandScapeとReverseportraitの向きが導入された場合...それは2.2であると確信しています)。デバイスはこれらの方向をサポートする必要があります。たとえば、SonyタブレットはReverselandScapeに入りませんが、逆portraitを行います