8

Galaxy Tab の画面解像度 (ポートレート モード) が600pxで、画面幅が3.55inchである場合、画面密度は です600/3.55 = 169 dpi。それを知り、デバイスに依存しないピクセル (dp) が計算される方法を念頭に置いてください ( http://developer.android.com/guide/practices/screens_support.html ):

px = dp * (dpi / 160);
600 = dp * (169 / 160);
dip = 568

したがって、位置 0 から始まる 568 dp (デバイスに依存しないピクセル) 幅の水平線を描画すると、画面の幅と正確に一致する必要があります。しかし、デバイスでこれを試してみると、画面の幅が400dp. 同じ式をもう一度使用しますが、dpi を取得するためです。

600 = 400 * (dpi / 160);
dpi = 240

したがって、240dpi3.55inch画面幅 、および600pixelsがあるということは、1 つの物理ピクセルがより多くの「ドット」で構成されていることを意味します。そうでない場合、パラメーターは の幅に対応します852pixel (3.55*240)

dpi は 1 インチあたりのドット数、つまり 1 インチあたりのピクセル数を意味すると思いました。しかし、これは真実ではないようです...

後で追加:
これ ( http://developer.android.com/guide/topics/resources/more-resources.html#Dimension ) は次のように述べています。

画面密度に関係なく、160dp は常に 1 インチです。

これは真実ではありません。これから測定ソースを確認してください: Android ディメンションの違い: pt と dp

後で追加:
私が尋ねている理由は160dp = 1inch、コントロールの幅をたとえば 320dp に指定すると、Galaxy Tab で実際に必要な部分よりもはるかに大きな部分をカバーし、期待するよりもはるかに大きな部分をカバーするという事実につながるルールに違反しているためです。 600x1024px 画面...

明確にしていただきありがとうございますBR STeN

4

1 に答える 1