Разница между <include> и <ViewStub> в Android
В чем различия между тегом <\ include> и тегом <\ ViewStub> и какой из них предпочтительнее при разработке макета.
Спасибо,
Venu
4 ответа
VISIBLE
(на самом деле видимый) или INVISIBLE
(все еще не видно, но его размер больше не равен 0). Это хорошая оптимизация, потому что у вас может быть сложный макет с множеством маленьких представлений или заголовков в любом месте, и при этом ваша активность будет загружаться очень быстро. Как только вы используете один из этих видов, он будет загружен.
- включают
Используется для повторного использования ресурса макета - ViewStub
Используется, чтобы лениво раздувать ресурс макета
Совместное использование и повторное использование макетов в Android очень просто благодаря тегу, иногда даже слишком простому, и вы можете получить пользовательские интерфейсы с большим количеством представлений, некоторые из которых используются редко. К счастью, Android предлагает особый виджет под названием ViewStub, который дает вам все преимущества, не загрязняя ваш пользовательский интерфейс редко используемыми представлениями.
ViewStub - тупой и легкий вид. У него нет измерения, он ничего не рисует и никак не участвует в макете. Это означает, что ViewStub очень дешев, чтобы его раздувать, и очень дешево хранить в иерархии представлений. ViewStub лучше всего описать как ленивое включение. Макет, на который ссылается ViewStub, раздувается и добавляется в пользовательский интерфейс только тогда, когда вы решите.
Еще одно важное отличие связано с раздувкой макета. При этом невозможно изменить макет, уже статически накачанный в XML, необходимо заменить представление и программно установить все параметры макета. С его помощью можно определить (например, высоту, ширину и т. Д.) И накачать другой макет во время выполнения