2017-09-12 8 views
0

1dpはppiが160のディスプレイの1ピクセルです。小さな値(0.3)に変更しても視認性が変わらないのはなぜですか?私は1dpを0.3dpに変更すると、ウィジェット(ちょうど1行)が見えなくなることを期待していました。アンドロイドでインチ単位のドットは、どのようにアンドロイドで動作しますか?

+0

ですが、実際に160dpiデバイスを確認しましたか?私は、値が最も近いピクセルに丸められていると思う。 –

答えて

0

式がある:

px = (int)(scale * dp + 0.5)

(すなわち、最も近い整数ピクセル値に丸めデバイス密度スケール)

スケール値に基づくことになるがデバイスの画面密度:

したがって0.5dp{1px, 1px, 1px, 2px}であり、1dp{1px, 2px, 2px, 3px}である。 0.1dpのような小さな値は{1px, 1px, 1px, 1px}に解決されます。その理由は、値が明示的に0dpでない限り、上記の式で1未満の値が1つのピクセルに解決されるためです(単一ピクセル幅より薄いものを描画できません)。

あなたがその最薄の可能な幅を確保したい場合

は、おそらく最高の pxの代わりに、すべてのデバイス上の単一のピクセルで描画されます 1pxの値を設定 dp.のようなスケール単位で明示的に幅を定義するために、使用、および多くをされています期待できるものよりも読みやすい 0.5dpまたは 0.1dpは同じことをします。

詳細はdocumentation

関連する問題