Страницы

Поиск по вопросам

воскресенье, 22 декабря 2019 г.

Для чего использовать layout_height=“0px” вместо “warp_content”?

#android #xml #height


Не раз видел в примерах при указании высоты View элемента, то что указывают высоту
равной 0px. Вот живой пример, для ViewPager указана высота в 0px:




    

    




Объясните пожалуйста, что это значит. Получается ViewPager отображен в макете как
горизонтальная невидимая полосочка. Разве просто обернуть по содержимому не подойдет
(wrap_content)? С какой целью применяют этот способ?
    


Ответы

Ответ 1



layout_height (layout_width) равный 0px указывается, насколько я могу припомнить, только в одном случае - когда ширина (высота) расcчитывается с помощью "весов" - атрибута android:layout_weight. Делается это для того, чтобы: Во первых - не тратилось время на бесполезное вычисление заданной в параметре высоты (а wrap_content и match_parent довольно ресурсоемкие атрибуты), так как оно потом все равно будет изменено на рассчитанное по весу. Во вторых - при расчете, значение текущего размера виджета, отличное от нуля, будет влиять на результат расчета "веса" и вы получите не совсем то, что ожидаете.

Комментариев нет:

Отправить комментарий