web-dev-qa-db-ja.com

すべてのAndroidデバイスをサポートするには、14の異なるレイアウトが必要ですか?

私は本当に混乱しています。 developer.Android.comの docs から、現在のすべてのAndroidすべてのデバイスが必要です。レイアウトは以下のとおりです。それは本当にみんながしていることですか?何かが足りないのですか、それとも別の方法で対処する必要がありますか?

Low density Small screens QVGA 240x320
------------------------------------------------
layout-small-ldpi
layout-small-land-ldpi

Low density Normal screens WVGA400 240x400 (x432)
------------------------------------------------
layout-ldpi
layout-land-ldpi

Medium density Normal screens HVGA 320x480
------------------------------------------------
layout-mdpi
layout-land-mdpi

Medium density Large screens HVGA 320x480
------------------------------------------------
layout-large-mdpi
layout-large-land-mdpi

High density Normal screens WVGA800 480x800 (x854)
------------------------------------------------
layout-hdpi
layout-land-hdpi

Xoom (medium density large but 1280x800 res)
------------------------------------------------
layout-xlarge
layout-xlarge-land
61
wufoo

Android Dev Protip 画面サイズ修飾子についてのRoman Nurikから:

タブレットなどの大画面デバイス用のカスタムレイアウトがある場合は、-largeまたは-xlargeリソース修飾子の使用を停止して、-swXXdpまたは-wXXdp修飾子。後者はAPIレベル13で導入され、基本的にすべてのタブレットが最新のプラットフォームバージョンチャート1に従ってサポートされるようになりました。

は、-largeが効果をもたらす基本的にすべての場合に、-swXXdpを代わりに使用してより細かく指定できることを意味します。

それでは、実際のswまたはw修飾子を使用する必要がありますか?ちょっとしたことを簡単に始めることができます。

7 "タブレット:layout-largeの代わりに、layout-sw600dpを使用します。

例:Nexus 7 = 960×600 dp; 2つの次元のうち小さい方は600です。

10 "タブレット:layout-xlargeの代わりに、layout-sw720dpを使用します。

例:Nexus 10 = 1280×800 dp; 2つの寸法のうち小さい方は800です。一部の10インチタブレットはもう少し狭いため、720が一般的に使用される切り替えポイントです。

それだけではありません(デバイスのフォームファクターではなく、コンテンツの最小要件に基づいて切り替えポイントを選択する必要があります)が、それは別の日の#Protipです(:: cough :: + Nick Butcher :: cough: :)。

7
LOG_TAG

レイアウトでAbsoluteLayoutを使用しない場合、アプリケーションは画面に合わせてサイズ変更されます。

ただし、場合によっては、画面が小さい場合、たとえばコンポーネントが少ない新しいレイアウトを宣言する必要があります。

画像の場合:

いくつかのオプションがあります。

単純にいくつかの解像度を無視し、デバイスに最適な画像を選択させます。サポートしたいサイズに合わせてAndroidManifestで宣言します。または、1つだけで、サイズを変更してアプリケーションを台無しにします。

2

はい。画面解像度ごとに異なるレイアウトを定義する必要があります。

タブレットのようなアプリケーションで作業することになっているとき。その時本当にあなたはそれを感じます。別のレイアウトが必要です。タブレットは常にサイズが異なるためです。

もう1つ、Androidで作業しているときは、常に実際のデバイスでアプリを味わう必要があります。また、異なるサイズのエミュレータでテストします。

0
shivaprakash