LayoutParams
принимает одну из констант (FILL_PARENT
, WRAP_CONTENT
) или значение в пикселях. Поскольку вы хотите использовать миллиметры, вам необходимо преобразовать миллиметровое измерение в пиксельное измерение. Сделать это довольно легко:
Resources r = getResources();
float px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_MM, 20,
r.getDisplayMetrics());
В этом примере 20 мм преобразуются в размеры в пикселях, которые вы можете использовать в вашем LayoutParams
. Вы также можете использовать другие размеры, например TypedValue.COMPLEX_UNIT_DIP
для dp / dip¹. Просто измените константу в аргументах. Документ Android имеет список используемых размеров .
¹ Плотность, независимая от пикселей, настоятельно рекомендуемый размер, который приспосабливается к различным размерам экрана и плотности. Использование mm не лучший способ сделать что-либо, так как ваш текст, вероятно, будет хорошо выглядеть на большом экране и заполнит большую часть маленького экрана, или наоборот - что не идеально. Я также рекомендую sp для размеров шрифта. Подробности см. В списке размеров.