Перетяжка в разных телефонах - PullRequest
3 голосов
/ 23 июля 2010

Скажем, я добавляю линейный макет с верхним отступом 20. Означает ли это, что макет отображается с отступом 20 пикселей во всех телефонах? Или это масштабируется в зависимости от высоты / ширины / плотности телефона?

Ответы [ 2 ]

4 голосов
/ 24 июля 2010

В коде Java будут пиксели на всех устройствах. Если вы хотите, чтобы плотность соответствовала (например, используя 20dp или 20dip), вы можете использовать:

float density = context.getResources().getDisplayMetrics().density;
setPadding(20 * density, blah, blah, blah);

Этот показатель плотности будет 1,0 на средних телефонах или более или менее в зависимости от плотности экрана.

0 голосов
/ 23 июля 2010

Зависит от того, насколько точно вы определили отступы.Если в вашем файле макета вы написали, например,

android:paddingTop="20px"

Тогда да, это 20 пикселей на каждом устройстве.

...