0

Android の画面 / DPI / 解像度の独立性に関する一般的な質問がいくつかあります。

基本的に、たとえば Surfaceview に基づくアプリなど、スプライト ベースのアプリについて具体的に説明します。

私が読んだすべてのガイド (公式ガイドを含む) には、解像度ではなく DPI のみを使用する必要があると書かれています。

しかし、2 つのデバイスの DPI/画面サイズが異なり、解像度が同じ場合はどうなるでしょうか? Galaxy tab 10.1 (1280 x 800 - DPI 約 150) と Galaxy Note (1280 x 800 約 285 DPI だと思いますか??)

これらのそれぞれに 50 x 50 のスプライトを表示すると、画面サイズに対して同じサイズに見えます。ただし、Android が異なる DPI (つまり、LDPI、HDPI など) を検出したために異なるサイズのスプライトを取得した場合、そのスプライトは、タブよりも画面サイズに対して Note の方が大きく表示されます。

私はそれを解決できないので、誰かがこれについて私をまっすぐにしてくれませんか!! 皆さんありがとう。

4

1 に答える 1

3

150dpi 画面上の 50 x 50 スプライトは、285dpi 画面上の 50 x 50 スプライトよりもはるかに大きく表示されます。Android のリソース解決アルゴリズムは、より高密度の画面で使用するためにより大きな (ピクセル単位の) 画像を定義できるようにすることを目的としています。

ピクセル密度に関係なく、スプライトを画面に対して同じサイズにしたい場合は、画像をフォルダーに入れることができdrawable-nodpi、システムによってスケーリングされません。画面サイズを照会した後、コードで使用するイメージのサイズを決定することもできます。(3.2 の時点では、画面のピクセル サイズに依存するリソース フォルダーを使用できますが、dpi に合わせてスケーリングされると思います。)

画面の解像度とは、画面のサイズをピクセル単位で表したものです。ピクセル密度とは、1 インチの画面を埋めるのに必要なピクセル数を指します。

于 2012-01-04T01:38:15.783 に答える