2

アプリに付属の画面をデザインしました。このアプリはAndroid1.6以降を対象としています。現在、アプリは大部分のhdpiおよびmdpiデバイスで実行されており、解像度が162dpiの1024x600、179dpiの1024x600、240dpiの1024x600などのいくつかのデバイスで実行されています。下記のフォルダで複数の画面をサポートするための代替レイアウトを提供しました。

layout:デフォルトのレイアウトリソース。
layout-hdpi: hdpi画面用。私のプロジェクトでは、このために特別に最適化する必要のあるレイアウトはほとんどありません。
layout-mdpi: mdpi画面用。私のプロジェクトでは、このために特別に最適化する必要のあるレイアウトはほとんどありません。
layout-large:大画面のデフォルトのレイアウトリソース。
layout-large-hdpi:解像度1024x600のhdpi画面のレイアウトリソース
layout-sw400dp-v11:これは主に7インチタブレット用です。Honeycomb以上を実行しているデバイスのみがこれを認識できます

。qHD画面(256 dpiなどの540x960)のサポートも追加する必要があります。以下は、qHD画面のサポートを設計および追加するために必要な画面の例です。このスクリーンショットは、解像度が480x800、240dpiのHTCIncredibleSで撮影されたものです。

ここに画像の説明を入力してください

qHD画面のレイアウトは、それらの画面でも同じように見えるように設計しました。

ここで、以下の質問があります

。1. hdpi、mdpi、および上記の奇妙な画面をサポートする必要があることを考慮して、代替リソースを提供するための正しいディレクトリ構造を持っていますか?そうでない場合、それらの画面に関して代替リソースをどのように提供する必要がありますか?UIが複数の画面解像度と密度で同じように見えるように、個別のファイルを設計する必要があります。

2.qHD画面は256dpiです。つまり、これらの画面はhdpi画面です。ほとんどのデバイスで上記のように見えるhdpi画面のリソースがすでにあります。しかし、qHD画面で表示すると、下のスクリーンショットのようになります。では、ほとんどのデバイスで良好に表示されている現在のレイアウトリソースに影響を与えないように、qHD画面に代替リソースを提供するにはどうすればよいですか?

ここに画像の説明を入力してください

@Espiandev
qHD、hdpiデバイスのディスプレイに依存しないピクセル(DIP)の画面サイズは360x640ですが、インクレディブルSは320x533であるため、一部の画像が他の画像よりも画面の上方にあります。つまり、基本的に、qHDデバイスは、画面ごとにインクレディブルSよりも多くのものを表示できます。DIPの説明とその他のヒントについては、こちらをご覧ください
-この洞察に感謝します。私はこれを知っています。また、私はDianneHackbornによる投稿を読みました。「画面サイズを管理するための新しいツール」-http://android-developers.blogspot.in/2011/07/new-tools-for-managing-screen-sizes.html

見た目からすると、現在、ゴール/ゲイン/移動パーツの上にマージンまたはパディングを使用しています。代わりに、重力を下に変更して(つまり、画面の下部に揃えて)、アイテムの下のマージンまたはパディング。
-いいえ、これらのパーツにパディングやマージンを使用していません。ゴール/ゲイン/トーゴボタンがそのメーターテープボタンの下にある相対的なレイアウト。重力を下​​に設定し、下にパディングを付けることを提案したように、はい、私もそれを試しましたが、そのメーターテープボタンとこれらの円の間の距離が大きくなり、それらのメガネ、その下のボタン、および異なるレイアウトファイルを作成したメーターテープボタンの間のサイズとマージンを変更する必要があります。小画面デバイスでこの画面を表示すると、小画面デバイスで表示されるビューが少なくなるため、ビューが重なります。

ただし、mdpi、hdpiなどの個別のレイアウトリソースは実際には必要ないため、このように画面サイズを分割するのではなく、アプリを画面に適応させるように取り組んでいます。
通常、私は必要ないことに同意します。 mdpiとhdpi画面の別々のレイアウト。ただし、ここでの要件は、画面がすべての画面でまったく同じに見える必要があることです。同様に、その黄色い円内のすべてのビューがその円の外側に出てはなりません。中央にあるボタンは常に中央にある必要があります。また、メーターテープボタンの上下にある3つの小さな円の相対的なサイズは同じである必要があります。これは、mdpiとhdpiの画面に異なるレイアウトを作成する以外に選択肢がありませんでした。

qHD画面用に別のレイアウトファイルを作成しました。今私の質問は、qHDデバイスがそのファイルを使用し、他のデバイスが現在機能しているように機能し続けるように、どこに配置するかです。

4

1 に答える 1

0

qHD、hdpi デバイスのディスプレイに依存しないピクセル (DIP) の画面サイズは 360x640 ですが、Incredible S は 320x533 であるため、一部の画像が他の画像よりも画面の上部にあるのはなぜですか。したがって、本質的に、qHD デバイスは画面ごとにインクレディブル S よりも多くのものを表示できます。DIP の説明とその他のヒントについては、こちらを参照してください。

Incredible S デバイスと qHD デバイスで UI をまったく同じに見せる方法はありません。iOS デバイスとは異なり、画面サイズは非常に多様です。見た目から、あなたは現在、ゴール/ゲイン/トゥゴー部分の上にいくらかのマージンまたはパディングを使用しています。代わりに、それらの重力を下に変更することをお勧めします (つまり、それらを画面の下に揃えます)。アイテムの下のマージンまたはパディング。そうすれば、ランチ/ディナーボックスと整列したままになることを願っています. XML ファイルを投稿すると、問題の診断に役立ちます。

Android 3.2 より前では、上記の 2 つのケースを区別する方法はないと思いますが、3.2 以降では、swXXXdp (最短幅) 属性を使用できます。ただし、mdpi、hdpi などに個別のレイアウト リソースを実際に必要としないため、このように画面サイズを分割しようとするのではなく、アプリを画面に適応できるようにすることに取り組みます。

于 2012-07-12T15:12:42.707 に答える