12dp будет 12px на устройстве с плотностью 160 точек на дюйм.В документах не говорится, что все устройства mdpi
имеют точно 160 точек на дюйм, поэтому кажется, что вы можете найти mdpi
устройства с другой плотностью (например, 150 или 180 точек на дюйм).В этих случаях отношение 1dp = 1px
не будет истинным.
Вы можете быть уверены только в этом отношении:
px = dp * (dpi / 160)
Если устройство имеет плотность 320 точек на дюйм, то каждый дпсоответствует 2 px, потому что 320/160 равно 2. Я бы сказал, что 2 - это «коэффициент плотности», но это также то, что вы получаете с getResources().getDisplayMetrics().density
, поэтому его также называют «плотностью».