61

私は本当に混乱しています。developer.android.comのドキュメントから、現在のすべての 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
4

4 に答える 4

23

アプリは、クラシック レイアウトのデバイスの 100% で動作します。

ボタンをいくつか追加したり、修飾子を追加してランドスケープ モードのレイアウトを変更したりできますが、それはあなた次第です。

たとえば、LDPI (低解像度) デバイスでは、一部のボタンを調整したり、小さな画面に合わせて少し変更したりすることができます。

また、いくつかのボタンを横向きモードでは右側に配置し、縦向きモードではレイアウトの下部に配置することもできます!

それらを使用する必要はありません。

于 2011-04-05T21:13:20.843 に答える
8

画面サイズ修飾子に関する Roman Nurik のAndroid Dev Protipによると:

タブレットなどの大画面デバイス用のカスタム レイアウトがある場合は、今こそ -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 が一般的に使用される切り替えポイントです。

それだけではありません (デバイスのフォーム ファクターではなく、コンテンツの最小要件に基づいてスイッチング ポイントを選択する必要があります)。 :)。

于 2014-03-13T07:05:31.907 に答える
2

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

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

画像の場合:

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

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

于 2011-04-05T21:15:47.537 に答える
0

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

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

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

于 2013-09-30T05:10:27.200 に答える