android布局优化(ViewStub)

页面中有些布局在初始化时没必要显示,但是又不得不事先在布局文件中写好,虽然设置成了invisible或gone,但是在初始化时还是会加载,这无疑会影响页面加载速度。针对这一情况,Android为我们提供了一个利器————ViewStub。这是一个不可见的,大小为0的视图,具有懒加载的功能,它存在于视图层级中,但只会在setVisibility和inflate方法调用只会才会填充视图,所以不会影响初始化加载速度。它有以下三个重要属性:

  • android:layout:ViewStub需要填充的视图名称,为“R.layout.xx”的形式;
  • android:inflateId:重写被填充的视图的父布局id。

include标签不同,ViewStubandroid:id属性是设置ViewStub本身id的,而不是重写布局id,这一点可不要搞错了。另外,ViewStub还提供了OnInflateListener接口,用于监听布局是否已经加载了。

猜你喜欢

转载自blog.csdn.net/whb008/article/details/110916830