Я думаю, что лучший способ - не определять какие-либо измерения в коде, а вместо этого использовать файл values/dimens.xml
. Вы всегда можете определить свой размер в желаемой единице, например:
<dimen name="my_layout_height">120dp</dimen>
, а затем обратитесь к этому в своей деятельности, как:
getResources().getDimensions(R.dimen.my_layout_height);
Это вернет пикселей после выполнения необходимых преобразований. И, конечно же, вы можете ссылаться на это в других XML-файлах, например:
android:layout_width="@dimen/my_layout_height"