3

プロジェクトであらゆる種類の画面をサポートしようとしています。フォルダー (ldpi、mdpi、Hdpi、xhdpi、xxhdpi)、およびレイアウト フォルダー (layout-small、layout、layout-large、layout-xlarge、layout-xxlarge) にそれぞれのグラフィックを追加しました。ここに問題があります:エミュレーターでアプリを通常の画面(mdpi)で開くと、すべてが正しいですが、1つのHdpi /ラージのような他のエミュレーターを選択すると、Androidシステムが適切なグラフィックを選択していません。 (たとえば、Hdpi エミュレーターを開くと、システムは通常のグラフィックス (mdpi) を選択しています。

何をする必要がありますか?,システムに適切なグラフィックスを選択させるコードを書く必要がありますか?,本当に助けが必要です!

4

1 に答える 1

0

各ビューで適切に見えるように、すべてのビュー タイプ間で dpi 値を変更する必要があります。複数の画面をサポートする Web ページには、さまざまな画面の最小画面サイズを示す表があります。画像の dpi をあるサイズから別のサイズに変換できるように、各値を比較する代数を行う必要があります。ただし、プロセスを簡素化するため、定義済みのサイズを使用するのではなく、「match_parent」と「wrap_content」を使用する別の解決策があります。ビュー内のテキストの sp にも同じプロセスが適用されます。

私が参照しているチャートは、次のようなものです。

  • 特大画面は 960 dp x 720 dp 以上

  • 大画面は 640 dp x 480 dp 以上

  • 通常の画面は 470dp x 320dp 以上

  • 小さな画面は少なくとも 426 dp x 320 dp

編集: また、LinearLayout で複数のビューを使用する場合、android:layout_weight という Android プロパティを使用して比率を使用して画面を分割できることも忘れていました。


編集:おそらく問題は、画像が適切にスケーリングされていないことです。これらを ImageViews に追加してみてください:

android:adjustViewBounds="true"
android:scaleType="fitXY"
于 2014-02-02T01:48:13.847 に答える