zoukankan      html  css  js  c++  java
  • Android:ViewStub

    ViewStub

      在开发应用程序时,经常会遇到这样的情况:需要运行时动态地根据条件决定显示哪个View或某个布局。

      解决方法1:把可能用到的View都写在上面,通过动态地设置View.GONE来进行控制。

      解决方法2:使用android.view.ViewStub实现。

      方法1逻辑简单而且控制起来比较灵活。但是它的缺点是耗费资源,即便初始时View的可见性为GONE,但是

    在inflate布局的时候View仍然会被inflate,即:仍然创建对象,仍然会初始化属性等,会消耗内存等资源。

      推荐的做法是使用android.view.ViewStub。ViewStub是一个轻量级的View。它是一个看不见的,不占布

    局位置,占用资源非常小的控件。可以为ViewStub指定一个布局,在inflate布局的时候,只有ViewStub会被初

    始化,然后当ViewStub被设置为可见或者调用ViewStub.inflate()的时候,ViewStub所指向的布局就会被、、

    inflate和实例化,然后ViewStub的布局属性都会被转移到它所指向的布局。这样,就可以使用ViewStub来方便

    的在运行时决定要不要显示某个布局。

    相关限制:

      ViewStub只能Inflate一次,之后ViewStub对象会被置空。换句话说,就是某个ViewStub被指定的布局

    inflate之后,就不会在通过ViewStub来控制它了。

  • 相关阅读:
    课后作业 学号15100457
    开学第一课
    20180320作业2:进行代码复审训练
    20180320作业1:源代码管理工具调查
    软工作业PSP与单元测试训练
    构建之法 完成教材第一章P18第4题
    第一天上课 创建博客
    进行代码复审训练
    源代码管理工具调查
    软工作业PSP与单元测试训练
  • 原文地址:https://www.cnblogs.com/slowalker/p/3384527.html
Copyright © 2011-2022 走看看