美文网首页
merge标签与ViewStub标签

merge标签与ViewStub标签

作者: WaterYuan | 来源:发表于2020-10-28 20:40 被阅读0次

    使用merge标签

    当我们有一些布局元素需要被多处使用时,这时候我们会考虑将其抽取成一个单独的布局文件。在需要使用的地方通过 include 加载。

    merge的子元素会直接替换include标签,可减少一层布局

    使用ViewStub标签

    当我们布局中存在一个View/ViewGroup,在某个特定时刻才需要他的展示时,可能会有同学把这个元素在xml中定义为invisible或者gone,在需要显示时再设置为visible可见。比如在登陆时,如果密码错误在密码输入框上显示提示。

    invisible
    view设置为invisible时,view在layout布局文件中会占用位置,但是view为不可见,该view还是会创建对象,会被初始化,会占用资源。
    gone
    view设置gone时,view在layout布局文件中不占用位置,但是该view还是会创建对象,会被初始化,会占用资源。

    如果view不一定会显示,此时可以使用 ViewStub 来包裹此View 以避免不需要显示view但是又需要加载view消耗资源。viewstub是一个轻量级的view,它不可见,不用占用资源,只有设置viewstub为visible或者调用其inflater()方法时,其对应的布局文件才会被初始化。

    相关文章

      网友评论

          本文标题:merge标签与ViewStub标签

          本文链接:https://www.haomeiwen.com/subject/lwgcvktx.html