Android получить размер кадра dp

Любой способ получить макет (кадр, линейный...) в дп? Мой FrameLayout настроен на перенос содержимого, поэтому я вычисляю размерность элементов внутри, чтобы получить размерность, но я не уверен в надежности; любое решение? заранее спасибо

1 ответ

Сделать это, как показано ниже

int height = yourLayout.getLayoutParams().getHeight;
int width = yourLayout.getLayoutParams().getWidth;

Это даст вам высоту, ширину в пикселях

Carefull

Напишите этот код после того, как ваш макет (просмотры) успешно создан, в противном случае он вернет 0.

Теперь преобразуйте этот px в dp, используя следующий метод

public int pxToDp(int px) {
    DisplayMetrics displayMetrics = getContext().getResources().getDisplayMetrics();
    int dp = Math.round(px / (displayMetrics.xdpi / DisplayMetrics.DENSITY_DEFAULT));
    return dp;
}
Другие вопросы по тегам