1

「複数の画面のサポート」に関する情報と他の投稿を読みました...しかし、複数のデバイスで実行されるアプリケーションを開発する方法について本当に混乱しています。私は決定的な画面(通常のサイズのレイアウト)で開発を開始していましたが、S4 Galaxyでapkを実行したので、apkのすべてのオブジェクトがxperiaとS4で異なるサイズであることがわかりました。apk をすべてのデバイスと互換性を持たせるにはどうすればよいですか? それを作成する唯一の情報源は次のとおりであるという情報を読みました。

  1. res/layout/my_layout.xml // 通常の画面サイズのレイアウト (「デフォルト」)
  2. res/layout-small/my_layout.xml // 小さい画面サイズのレイアウト
  3. res/layout-large/my_layout.xml // 大画面サイズのレイアウト
  4. res/layout-xlarge/my_layout.xml // 超大画面サイズのレイアウト
  5. res/layout-xlarge-land/my_layout.xml // 横向きの特大サイズのレイアウト

    為に:

  6. res/drawable-mdpi/my_icon.png // 中密度のビットマップ

  7. res/drawable-hdpi/my_icon.png // 高密度のビットマップ

  8. res/drawable-xhdpi/my_icon.png // 超高密度のビットマップ

これは本当ですか?デバイスごとに異なるレイアウトを作成する必要がありますか? みんな、この問題で私を助けてください。複数のデバイスの互換性がどのように取り決められているのか、私にはよくわかりません。

4

2 に答える 2

1

レイアウトについて: ほとんどの場合、アプリケーションのレイアウト セットは 1 つで済みます。デフォルトでは、Android の GUI システムは、あらゆるデバイスの画面を有効に活用できるように設定されています。たとえば、layout_weight を使用して dp (密度に依存しないピクセル) で指定します。ただし、レイアウトを 1 つだけ提供することで、スマートフォンやタブレット サイズの画面用に最適化される可能性が高くなります。携帯電話用に作成すると、タブレットにはおそらく多くの空きスペースができますが、別のレイアウト セットを作成すると、携帯電話のレイアウトに収まらない余分な情報を画面に表示できます。ユーザーのデバイスごとにアプリのエクスペリエンスをカスタマイズする意思があるかどうかによって異なります。複数のレイアウトを作成するには、Android 3.2 サイズ修飾子を使用することをお勧めします。タブレットの場合は、res/layout-sw600dp を使用できます。見るここの「新しいサイズ修飾子の使用」の下。

ドローアブルについて: 多くの場合、ドローアブルを 1 セットだけにしたくはありません。Android システムはすべてのドローアブルをスケーリングして、すべての画面サイズで同じ物理サイズを維持しますが、スケーリングが原因で、画像の見栄えがよくありません。そのため、画面密度の「カテゴリ」ごとに見栄えの良い画像を提供すると、Android システムがそのデバイスの画面密度に適した画像を選択し、必要なスケーリングは最小限になります。

最初はややこしいかもしれませんが、おそらくまだレイアウト指定子について心配する必要はありません。複数画面のサポートに関する記事を読み、相対的な方法で画面サイズを利用するように xml レイアウトを作成するようにしてください。

于 2013-08-13T18:28:11.800 に答える
0

このページを読みましたか? それともこれ

特定の方法で修飾されたフォルダーに重複した名前でリソースを作成します。実行時に、システムはデバイスの現在の構成に最適なリソースを選択します。デバイスを複数の画面サイズと複数の画面密度で動作させたい場合は、さまざまなリソース (レイアウト、ドローアブルなど) を作成し、それらを適切に修飾する必要があります。

于 2013-08-13T17:38:24.050 に答える