良い質問。しかし、あなたがしているやり方は、「プロの」開発者がするやり方ではありません。1 つのアクティビティに 32 のレイアウトは必要ありません。Android は物事を処理するのに十分なほどインテリジェントです。
レイアウトのマルチ定義/dimens.xml のマルチ定義なしで、マルチデバイス サポートは可能かどうか?
はい、それは絶対に可能であり、これはあなたがすべきことです。1 つのアクティビティ レイアウトに対して 32 のレイアウトを定義することは、良いことではありません。
Play ストアに 20 を超えるアクティビティを含むかなり大きなアプリがあるとします。1 つのアクティビティに 32 のレイアウトを定義した場合、アプリには 600 を超えるレイアウトが存在することになります。それは実現可能ですか?自問してみてください。
このページを非常によく読むことから始める必要があります。知っておくべきことがほとんどすべて含まれています。しかし、私はあなたが物事を正しくするのを手伝います。
画面サイズと密度のすべての組み合わせに対して代替リソースを提供する必要はありません。システムは、適切なサイズ変更を可能にする手法を使用して UI を実装していれば、任意のデバイス画面でアプリケーションをレンダリングする作業のほとんどを処理できる堅牢な互換性機能を提供します。
このステートメントは、これを行うべきではないことを納得させるのに十分です. Android システムは、それに応じてレイアウトのサイズを変更できるほどインテリジェントです。そして、私を信じてください、それは本当に良いことです。
さまざまな画面サイズに合わせて UI を設計すると、各設計に最小限のスペースが必要であることがわかります。したがって、上記の一般化された各画面サイズには、システムによって定義された関連付けられた最小解像度があります。これらの最小サイズは「dp」単位です。これは、レイアウトを定義するときに使用する単位と同じです。
私はあなたが考慮する必要がある重要なことのいくつかを指摘しようとします.
- レイアウトでピクセルをハードコードしないでください
- レイアウトでは常に
dp
orを使用してください。sp
名前が示すように、それらはさまざまなデバイスの密度に依存しないため、すべてのデバイスで同じように見えます。
- 高さと幅には常に
wrap_content
orを使用しますmatch_parent
- 絶対に使用しないでください
AbsoluteLayout
RelativeLayout
またはLinearLayout
両方がうまく機能します。シナリオに応じて、どちらを使用するかを決定する必要があります
- 画面サイズごとに異なるバージョンのドローアブルを常に提供してください。これはスキップできないものです。そうしないと、さまざまなデバイスでレイアウトが見栄えが悪くなるだけでなく、アプリが不要なリソースを消費することになります。
- 単一のレイアウトはタブレットでもうまく機能しますが、テーブルの画面サイズは一般的な携帯電話の画面サイズよりもはるかに大きいため、テーブル専用に別のレイアウトを提供する必要があります。
Android Studio リッチ レイアウト エディタ
Android Studio には、レイアウトをすぐにプレビューできる素晴らしいレイアウト エディターがあります。以下のスクリーンショットをご覧ください。

アプリの特定の画面をさまざまな画面サイズで一度にプレビューしていますが、レイアウトはすべての画面で希望どおりに表示されます。
このアクティビティには、すべての電話用とすべてのタブレット用の 2 つのレイアウトがあります。
実務の経験
実用的な体験が必要な場合は、さまざまな画面サイズの 8000 を超えるさまざまなデバイスで何千人ものユーザーが使用しているアプリを Play ストアで実行しています。
特定の Activityには、電話用とタブレット用の2 つのレイアウトしかありません。私のアプリの UI はすべてのデバイスで見栄えがよく、どのユーザーからも不満はありませんでした。必要に応じて、ここにアプリへのリンクがあります。
この詳細な回答がすべての疑問を解決できると確信しています。そうでない場合は、遠慮なくお知らせください。さらにお役に立てれば幸いです。
UDPATE
もう一度あなたの混乱を解消しようと思います。しかし、最初に、私の回答を複数回読むことをお勧めします。
必要なレイアウトは 1 つか 2 つですが、それはすべて、設計している特定のレイアウトによって異なります。すべてのレイアウトは他とは異なります。主観的なものとして技術的に定義することはできません。経験則はありません。しかし、私は正式にあなたを助けようとします。
Android Studio の Rich Layout Editorとその優れたライブ プレビュー機能をうまく活用する必要があります。
まず、平均的な端末サイズ(Nexus 5 の 5 インチなど)を対象としたレイアウトの設計を試みます。レイアウトをプレビューするには、Nexus 5 を選択するだけです。
デザインに満足したら、他の画面サイズを選択してプレビューします。上のスクリーンショットのように「すべてのサイズをプレビュー」を選択することもできます。
4 インチから 10 インチのタブレットまで、すべての画面サイズでレイアウトが適切に表示されるかどうかを確認してください。間隔、画像サイズ、フォント サイズがすべて正しいかどうかを確認します。
通常、4 インチから 6 インチまでのすべての携帯電話で完全なプレビューが表示されますが、タブレット画面用に別のレイアウトを個別に設計する必要がある場合があります (十分な大きさがあるため)。ここでのみ 2 つのレイアウトが必要になりますが、常にではありません。
私のアプリのように、5 ~ 6 個のアクティビティに対してのみ 2 つの別々のレイアウトを使用していますが、残りの部分では 1 つのレイアウトしか使用していません。それはすべて特定のレイアウトに依存します。
設計は、プログラミングとはまったく異なります。プログラミングは形式的にも文法的にも定義できますが、デザインは定義できません。デザインは完全に主観的なものであり、デザイナーの視点に依存します。独自の方法で創造性を発揮してください。それがデザインの魔法です。