0
1dpはppiが160のディスプレイの1ピクセルです。小さな値(0.3)に変更しても視認性が変わらないのはなぜですか?私は1dpを0.3dpに変更すると、ウィジェット(ちょうど1行)が見えなくなることを期待していました。アンドロイドでインチ単位のドットは、どのようにアンドロイドで動作しますか?
1dpはppiが160のディスプレイの1ピクセルです。小さな値(0.3)に変更しても視認性が変わらないのはなぜですか?私は1dpを0.3dpに変更すると、ウィジェット(ちょうど1行)が見えなくなることを期待していました。アンドロイドでインチ単位のドットは、どのようにアンドロイドで動作しますか?
式がある:
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
は同じことをします。
ですが、実際に160dpiデバイスを確認しましたか?私は、値が最も近いピクセルに丸められていると思う。 –