2

ドキュメントhereを読んだ後でも、さまざまなデバイスのレイアウトを正しく設定するために命名スキームをどのように使用する必要があるかについて、まだ少し混乱しています。

Galaxy S3、Nexus 7、Asus Transformer のレイアウトが特に必要です。

私は現在使用しています:

S3:
    layout-normal
    layout-normal-land

Nexus 7:
    layout-large
    layout-large-land

Transformer:
    layout-xlarge
    layout-xlarge-land

これは正しいですか、それともより具体的にデバイスをターゲットにする方法はありますか?

4

1 に答える 1

3

あなたの例では、小/中/大/特大) バケットの古い方法を使用しています。たとえば、Galaxy Tab 7.0 (1024x600) と Nexus 7 (1280x800) の両方が大きいと見なされるため、これは問題です。Nexus 7 はタブレット レイアウトを処理できますが、古い Tab 7.0 は通常、スマートフォン レイアウトの方が優れています。古いシステムではこの区別がサポートされていないため、Honeycomb 以降では、バケットに依存せず、実際の画面サイズdpを使用して使用するレイアウトを決定する新しい方法を使用できます。これにより、どのレイアウトをいつ選択するかをより詳細に制御できます。

リンクしたドキュメント内の「タブレット レイアウトの宣言」セクションを確認してください。dp ベースのセレクターが導入されています。あなたが言及した3つのデバイスはすべて、「sw720dp」アプローチから恩恵を受けることができる新しいAndroidバージョンを使用しています.

最小ターゲット バージョンが Gingerbread 以前である場合、基本的に s/m/l/xl バケットと新しい dp ベースのセレクターの両方をサポートする必要があるため、もう少し必要です。一見したところ、これはすべてのタブレット レイアウトを複数のディレクトリにコピーし、手動でそれらを同期させなければならないことを意味します。幸いなことに、レイアウト定義をコピー/貼り付けせずにこれを機能させるトリックがあります。セクションでレイアウト エイリアスを使用する必要がありvalues/ます。その方法は、Android チュートリアルのマルチスクリーンセクションに記載されています。

于 2013-03-11T22:12:24.777 に答える