展会信息港展会大全

使用ViewStub来优化布局
来源:互联网   发布日期:2016-01-14 09:50:14   浏览:2518次  

导读:android.view.ViewStub ViewStub 是一个不可见的,大小为0的View,最佳用途就是实现View的延迟加载,在需要的时候再加载View,可Java中常见的性能优化方法延迟加载一样。当调用ViewStub的setVisibility函数设置......

android.view.ViewStub ViewStub 是一个不可见的,大小为0的View,最佳用途就是实现View的延迟加载,在需要的时候再加载View,可Java中常见的性能优化方法延迟加载一样。

当调用ViewStub的setVisibility函数设置为可见或则调用 inflate初始化该View的时候,ViewStub引用的资源开始初始化,然后引用的资源替代ViewStub自己的位置填充在ViewStub的位置。因此在没有调用setVisibility(int) 或则 inflate()函数之前 ViewStub一种存在组件树层级结构中,但是由于ViewStub非常轻量级,这对性能影响非常校可以通过ViewStub的inflatedId属性来重新定义引用的layout id。

例如: 上面定义的ViewStub ,可以通过idstub 来找到,在初始化资源 mySubTree 后,stub从父组件中删除,然后"mySubTree"替代stub的位置。

初始资源"mySubTree"得到的组件可以通过inflatedId 指定的id "subTree"引用。 然后初始化后的资源被填充到一个120dip宽、40dip高的地方。 推荐使用下面的方式来初始化ViewStub: ViewStub stub = (ViewStub) findViewById(R.id.stub); View inflated = stub.inflate(); 当调用inflate()函数的时候,ViewStub 被引用的资源替代,并且返回引用的view。

这样程序可以直接得到引用的view而不用再次调用函数 findViewById()来查找了。

赞助本站

人工智能实验室

相关热词: ViewStub 布局

相关内容
AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港