1

タブレット用のAndroidアプリのレイアウトがあります。そのレイアウトは「横向き」に基づいています(つまり、タブレットで実行したときに希望どおりに表示されます(デフォルトでは横向き)。

しかし、同じアプリを携帯電話で実行すると、Androidはポートレートモードで実行されます(「ランドスケープ」レイアウトをポートレートに圧縮します)。

マニフェストファイルのアクティビティに「android:screenOrientation=」「landscape」を入れてみました。しかし、それはそれを修正しません。

基本的に、私が欲しいのは、電話を90%回転させたとき(幅は>高さ)、電話のレイアウトはタブレットで見たものと同じに見えることです(デフォルトでは横向きです)。

どうやってやるの?android:screenOrientation='landscape'は機能しません。

基本的に、私はゲーム「AngryBird」が欲しいです。それは、電話かタブレットか、電話が回転しているかどうかに関係なく、常に横向きモードで実行されます。

4

4 に答える 4

0

自分でこれを行ったことはありませんが、main.xmlレイアウトをres / layoutに配置する代わりに、res / layout-landに配置してみてください。これにより、このレイアウトが横向きモードで表示され、res/layout-portで表示される可能性があります。 main.xmlの代わりに縦向きですか?

于 2012-04-25T00:02:21.523 に答える
0

フォルダ\res\layout-land\を作成し、横向きのレイアウトでXMLファイルをそこに配置します。電話は、縦向きと横向きのレイアウトを自動的に選択します。

于 2012-04-25T00:03:42.787 に答える
0

onCreate呼び出す前に、メソッドに次の行を追加しますsetContentView

setRequestedOrientation( ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE );
于 2012-04-25T22:06:36.770 に答える
0

1つだけでなく、2つのフラグを使用する必要があると思います。

最初は

android:screenOrientation='landscape' 

2番目は

android:configChanges="orientation"

1つ目はAndroidにランドスケープモードでアクティビティを実行するように指示し、2つ目はユーザーが電話を回転させても向きを変更しないようにAndroidに指示します。基本的に2番目のフラグを使用すると、方向構成の変更をオーバーライドできます。

于 2012-04-25T22:16:39.243 に答える