0

私の問題は、Androidでポートレートモードでxmlを準備しているのに、電話でアプリケーションを実行してランドスケープモードにしようとすると、インターフェイスがクラッシュすることです。画像が小さくなり、ボタンが画面に表示されなくなります。電話が横向きモードでも縦向きモードでも、インターフェイスを同じにしたい。どうすればこの問題を解決できますか?1つのクラスに2つの異なるxmlを準備できますか?1つは横向きモード用、もう1つは縦向きモード用ですか?または他の解決策はありますか?ありがとう

4

2 に答える 2

2

ここには2つのオプションがあります。1つ目は、マニフェストのそのアクティビティにandroid:configChanges属性を追加することです。

<activity android:name="the activity's class name" android:configChanges="orientation" >

これにより、向きが変わったときにAndroidがアクティビティを再作成するのを停止します。代わりに、アクティビティのonConfigurationChangedメソッドが呼び出されます。

もう1つは、デバイスが横向きのときに使用される別のレイアウトを作成することです。縦向きのレイアウトと同じ名前を付けて、layout-landの下に配置する必要があります。

おそらく他のオプションもありますが、これらは私が知っているものにすぎません。

于 2011-04-14T21:48:10.677 に答える
1

さまざまな向きでさまざまなレイアウトを簡単に作成できます。リソースの提供の「画面の向き」を参照してください。

resの下にlayout-portまたはlayout-landディレクトリを作成し、そこに代替XMLを配置するだけです。

于 2011-04-14T21:42:38.050 に答える