全体的にAndroidのディップで混乱しています。デバイスに依存しないピクセルの基本
dp値のベースが160であることを私は理解しています。 したがって、80dpの幅は画面の幅の50%のビューと等しいはずですか? 私のNexus Oneでは、dpの幅は300dp程度です。
ここには何が欠けていますか?事前
全体的にAndroidのディップで混乱しています。デバイスに依存しないピクセルの基本
dp値のベースが160であることを私は理解しています。 したがって、80dpの幅は画面の幅の50%のビューと等しいはずですか? 私のNexus Oneでは、dpの幅は300dp程度です。
ここには何が欠けていますか?事前
で
THXは、私は完全にあなたの質問を理解していないが、私はあなたがまだの場合は、これを見てみましょうお勧めします。
http://developer.android.com/guide/practices/screens_support.html
画素= DPS *(密度/ 160)
160ドットインチ当たり。したがって、80dpはおよそ1/2インチになります。
「DP」==「密度に依存しないピクセル」(私は「DP」このごろ使用することを好むが、これは、それが以前の「ディップ」と呼ばれた理由もある。)他のユニットのような、それの
考えます - インチ(インチ)、mm(ミリメートル)など。これは、画面の密度に基づいてスケーリングされたサイズを提供することを可能にします。
mdpiを基本濃度と定義するので、mdpi画面の "10dp"は正確に10ピクセルになります。 hdpiは1.5 * mdpiであるため、hdpi画面では15ピクセルになります。
さまざまな密度の定数はDPI(mdpiが160など)に似ていますが、密度はではなく、のDPIです。これは、画面のdpiを調整する抽象的な倍率ですが、正確に反映するようには試みません。 (実際のサイズは "in"、 "mm"などとなりますが、99.9%は "dp"に固執します)これは多くのAndroidを処理する必要がないため、デバイスはそれぞれわずかな異なる画面DPIのためにUIのスペースがわずかに異なります。また、デバイスメーカーは、希望のUIを実現するためにデバイスの密度を選択することができます。たとえば、Samsung Tabは実際のDPIよりもかなり大きな密度を使用します。その結果、UI全体が大きくなります。
"これは皆の人生を大幅に簡素化します" - それ以外の人は非常に簡素化されます。ディップは機能しません(ハードウェアの多くは非常に異なるため、無駄です)。 GoogleはまだすべてのUIでdipを使用していると言いますが、それはすべての端末の30%でalighmentsが完全に間違っているため不可能です(私はここで解決策を探していました。 – Adam
密度に依存しないピクセル(短い:dp)は、アプリケーションの実行時に決定される仮想ピクセル単位です。
フォーマラ: 1 dp = 1 160 dpiスクリーン上のピクセル。 したがって、160dpiはシステムのベースライン密度です。
dp単位の画面ピクセルへの変換は非常に簡単です。 実際のデバイスの画素(PX)簡略化のために、DP(1)*(デバイスのDPI()/ 160(ベースライン)) を=:PX = DP *(DPI/160)
例: 場合240 dpiデバイスがアプリを起動した後、1 dpは1,5個の実際のデバイスピクセルになります。
結論: Dpは、より大きいまたはより小さいデバイスへのスケーリングを自動的に処理します。ピクセルをハードコードする時間は終わっています。 DPは、異なるスクリーン密度で適切なスケーリングを保証します。
OPはdipについて質問し、dpiではありません。 – Ying
彼らは関連しています。彼は160を基本値と言いました。その値はDPIの密度です。 – kcoppock
あなたは正しいです - 私はこの反応を注意深く読まなかった。 – Ying