2012-02-13 10 views
3

私はアンドロイドエミュレータで自分のアプリをテストしています。 1つの画面に私はバナー広告を持っています。広告のサイズは320x50です。アンドロイドの違いは480x800 hdpiと480x800 mdpiの間です

解像度480x800および240dpi(hdpi)のエミュレータを起動すると、バナー広告が画面の全幅を占めるようになります。

160dpi(mdpi)と同じ解像度でエミュレータを起動すると、バナー広告は画面の一部だけを占めています(480ピクセルのうち320ピクセルが広告によって取り込まれます)

480x800デバイスの画面幅が320dpに見える理由を理解できませんか?私の理解では、480px幅のデバイスに320pxの幅の画像を表示するには、必ずどちらかのスペースを残す必要があります。私はどのようにdpiが何かに影響を与えるのか分かりません。解決策が同じであることが分かります。より高いdpiは物理デバイスの画面サイズが小さくなることを意味します。

+0

広告のサイズが320x50だとすると、dpまたはpxを意味しますか?どのようにバナー広告を作成していますか?それはdrawableに基づいていますか?もしあれば、どのフォルダがドロウアブルか(drawable/drawable-mdpi/drawable-hdpiなど)? –

+0

広告サイズは 'wrap_content'を使用して指定され、コンテンツはAdMobから提供されます。 AdMobはバナーのサイズが320x50であることを明記していますが、広告が変更されていないことを確認するための小切手が用意されていることは確かです。 –

答えて

8

HDPIの480x800デバイスの画面幅は320dpです。 Google's docsは、「240 dpiの画面では、1 dpは1.5物理ピクセルに等しい」としています。したがって、HDPI画面で320dpとして指定されたリソースは、320 * 1.5 = 480ピクセルとして表示されます。

mdpi(160dpi)の場合、dpとpxは1:1だと思うので、320dpの幅のリソースは320 * 1 = 320ピクセルと表示されます。 480pxの幅を持つmdpiデバイスを使用することは非常にまれであることに注意してください。これはかなり大きく、ピクセル化された画面になります。

+0

ああ、それは少し物事をクリアします。私は比率がすべてのdpiの1:1であると思った。 –

関連する問題