Подтвердить что ты не робот

Разница между <include> и <ViewStub> в android

Каковы различия между тегом <\include > и тегом <\ViewStub > и который предпочтительнее при разработке макета.

Спасибо,
Venu

4b9b3361

Ответ 1

include/" > будет просто включать содержимое xml в ваш базовый xml файл, как будто все это всего лишь один большой файл. Это хороший способ совместного использования макетов между различными макетами.

ViewStub/" > немного отличается, потому что он не включен напрямую и будет загружен только тогда, когда вы действительно используете его/нуждаетесь в нем, т.е. Когда вы установите его видимость на VISIBLE (фактически видимый) или INVISIBLE (все еще не видимый, но его размер больше не равен 0). Это хорошая оптимизация, потому что у вас может быть сложная компоновка с множеством небольших представлений или заголовков в любом месте, и вы по-прежнему быстро загружаете свою активность. Как только вы используете одно из этих видов, оно будет загружено.

Ответ 2

  • включить
    Он используется для ресурса компоновки повторно
  • ViewStub
    Он используется для lazily inflate ресурса компоновки

Ответ 3

Совместное использование и повторное использование макетов очень просто благодаря Android благодаря тегу, иногда даже слишком легкому, и вы можете получить пользовательские интерфейсы, которые содержат большое количество просмотров, некоторые из которых редко используются. К счастью, Android предлагает очень специальный виджет под названием ViewStub, который приносит вам все преимущества без загрязнения вашего пользовательского интерфейса с редко используемыми видами.

ViewStub - это немой и легкий вид. Он не имеет никакого измерения, он ничего не рисует и никак не участвует в макете. Это означает, что ViewStub очень дешев для раздувания и очень дешево, чтобы поддерживать иерархию взглядов. ViewStub можно лучше всего описать как ленивый. Макет, на который ссылается ViewStub, накачивается и добавляется к пользовательскому интерфейсу только тогда, когда вы это решаете.

Ответ 4

Другое важное различие связано с раздуванием макета. с невозможностью изменить макет, уже статический завышенный в XML, необходимо заменить представление и установить программно все параметры макета. С помощью можно определить (например, высоту, ширину и т.д.) И раздуть разный макет во время выполнения