Difference between <include> and <ViewStub> in android

Venugopal picture Venugopal · Jul 4, 2011 · Viewed 7.4k times · Source

What are the differences between <\include> tag and <\ViewStub> tag and which one is preferrable while designing the layout.

Thanks,
venu

Answer

Gregory picture Gregory · Jul 4, 2011

The < include /> will just include the xml contents in your base xml file as if the whole thing was just a single big file. It's a nice way to share layout parts between different layouts.

The < ViewStub /> is a bit different because it is not directly included, and will be loaded only when you actually use it/need it, ie, when you set its visibility to VISIBLE (actually visible) or INVISIBLE (still not visible, but its size isn't 0 anymore). This a nice optimization because you could have a complex layout with tons of small views or headers anywhere, and still have your Activity load up really fast. Once you use one of those views, it'll be loaded.