このトピックに関する多くの質問と回答がありましたが、開発者のガイドラインを読んだことがありますが、これらのすべてをカバーするベストプラクティスは何ですか?私は人々がレイアウト - 小さなレイアウト - 通常のレイアウト - 大きなレイアウト - xlargeを使用することで、大部分のデバイスをカバーするのに十分だろうと言いました。私は、他の人が推奨していないものとして使用しないと言っているのを見て、代わりにlayout-sw380dp layout-sw480dpなどの最小の幅のレイアウトを使用するべきです。このすべてのことを念頭に置いて私は自己混合レイアウトを見つけて、それが混乱するのは正直なところです!例えば、この絵を見てみましょう、私は多くのレイアウトを持っているすべてのアンドロイドデバイスをカバーするために実際に必要なレイアウトリソースフォルダの数
は、私は本当にこれらのすべてが必要なのですか?経験豊富なアンドロイドのデベロッパーには、膨大な範囲のデバイスをターゲットにするためにレイアウトリソースフォルダはどれくらい多く、何種類あるのでしょうか?
"本当にこれらのすべてが必要ですか?" - おそらくそうではありません。どのくらいレイアウトリソースフォルダを使って、広範囲のデバイスをターゲットにしていますか?それはアプリのUIに完全に依存するため、抽象的に答えられません。あなたの 'minSdkVersion'が14以上であれば、指定されたサイズ(例えば' res/layout-large/')をスキップして数字のもの(例えば' res/layout-sw600dp/')にスティックすることができます。古い「minSdkVersion」を使用していても、Android 2.xのタブレットがほとんどなく、Android 3.xは長年に渡って関連性がないため、おそらくそれらをスキップすることができます。 – CommonsWare
私の最小sdkは通常14で、私はレイアウトが大きいと思っていましたが、レイアウトは古い3.2タブレット用です。 nexus 9とnexus 10のようなデバイスがありますが、レイアウトsw620dpとレイアウトsw700dpはそれぞれ –
をカバーしなければならないことがわかりました。 "レイアウトは古い3.2タブレット用です。" - あなたの 'minSdkVersion'は高いですとにかくAndroid 3.2の13よりも。レイアウト - sw620dpとレイアウト - sw700dpはそれぞれこれらをカバーする必要があることがわかりました - しかし、レイアウトがはっきりと異なる場合は、これらのディレクトリが必要です。 Web開発者は、可能なブラウザビューポートサイズごとに異なるバージョンのWebサイトを作成しません。代わりに専用のモバイルサイトを持ち、残りの部分をCSSルールで処理することもできます。同じことがAndroidの開発でも当てはまりますが、技術は異なります。 – CommonsWare