ViewStub总结

ViewStub总结ViewStub是一个不可见的,大小为0的View,最佳用途就是实现View的延迟加载,避免资源浪费,在需要的时候才加载View;其特性如下:1、调用其inflate()的时候,其布局属性android:layout=”@layout/布局”将会替换这个ViewStub标签,这个时候我们使用findViewById将获取这个ViewStub对象为空,所以是可以被替换这一点的;2、infla

大家好,又见面了,我是你们的朋友全栈君。

ViewStub 是一个不可见的,大小为0的View,最佳用途就是实现View的延迟加载,避免资源浪费,在需要的时候才加载View;

其特性如下:
1、调用其inflate()的时候,其布局属性android:layout=”@layout/布局”将会替换这个ViewStub标签,这个时候我们使用findViewById将获取这个ViewStub对象为空,所以是可以被替换这一点的;
2、inflate()加载会返回一个View,这个View就是其layout属性对应的那个View,inflate()这个方法只能调用依次,如果再次调用会报ViewStub must have a non-null ViewGroup viewParent这个错误,我们通过其getParent()判断是否为空,我们就可以知道是否已经加载了;
3、ViewStub的属性在inflate()后会都传给相应的布局。
4、我们ViewStub里面有一个inflateId:,这个是可以给ViewStub要加载的布局重新设置一个id,我们通过这个id可以通过使用findViewById来找到相应的布局;
5、 ViewStub视图在首次调用setVisibilityinflate方法的时候其实是和inflate加载布局是一样的效果,会让其layout对应的布局加载出来;
6、 ViewStub所要替代的layout文件中不能有标签

参考链接:
http://blog.csdn.net/a740169405/article/details/50351013
http://www.jianshu.com/p/5f64bacbd759

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/153993.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 02、ADS使用记录之简单的带通滤波器设计

    02、ADS使用记录之简单的带通滤波器设计02、ADS使用记录之简单的带通滤波器设计

    2022年6月4日
    24
  • Java中的List与Set转换「建议收藏」

    Java中的List与Set转换「建议收藏」一、List列表与Set列表的区别List列表是有序、可以重复、线程不安全的列表,Set是无序、不能重复、线程不安全的列表。但List和Set可以通过方法来转换为线程安全的,加互斥锁。Set<Long>set=newHashSet<>();//转换为线程安全的集合Collections.synchronizedSet(…

    2022年6月21日
    53
  • 多项分布和的分布_bernoulli多项式

    多项分布和的分布_bernoulli多项式摘要纠错编辑摘要二项分布的典型例子是扔硬币,硬币正面朝上概率为p,重复扔n次硬币,k次为正面的概率即为一个二项分布概率。(严格定义见伯努利实验定义)  把二项分布公式再推广,就得到了多项分布。比如扔骰子,不同于扔硬币,骰子有6个面对应6个不同的点数,这样单次每个点数朝上的概率都是1/6(对应p1~p6,它们的值不一定都是1/6,只要和为1且互斥即可,比如一个形状不规则的骰子),重复扔n

    2022年10月11日
    4
  • Python中获取当前日期的格式

    Python中获取当前日期的格式

    2021年11月26日
    55
  • springboot更改项目名_java 文件重命名

    springboot更改项目名_java 文件重命名整体步骤如下:1、ProjectSettings下1.1、更改project的Projectname和Projectcompileroutput。1.2、更改Modules的Name1.3、删除Artifacts下的两个打包配置(稍后会再自动生成)2、更改pom.xml的artifactId3、退出idea,找到项目路径,更改项目文件名4、然后idea再open项目第一步:第二步:第三步重新打开即可…

    2022年10月13日
    4
  • [GO语言基础] 一.为什么我要学习Golang以及GO语言入门普及

    [GO语言基础] 一.为什么我要学习Golang以及GO语言入门普及作为网络安全初学者,会遇到采用Go语言开发的恶意样本。因此从今天开始从零讲解Golang编程语言,一方面是督促自己不断前行且学习新知识;另一方面是分享与读者,希望大家一起进步。这系列文章入门部分将参考“尚硅谷”韩顺平老师的视频和书籍《GO高级编程》,详见参考文献,并结合作者多年的编程经验进行学习和丰富,且看且珍惜吧!后续会结合网络安全进行GO语言实战深入,驾驭~这些年我学过各种编程语言,从最早的C语言到C++,再到C#、PHP、JAVA,再到IOS开发、Python,到最新的GO语言,学得是真的杂。有时

    2022年10月10日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号