之间的差异<;包括>;及<;视图存根>;在android中

之间的差异<;包括>;及<;视图存根>;在android中,android,include,viewstub,Android,Include,Viewstub,标签和标签的区别是什么?在设计布局时,哪个标签更可取 谢谢,venu的将只在您的基本xml文件中包含xml内容,就好像整个内容只是一个大文件一样。这是一种在不同布局之间共享布局部分的好方法 有点不同,因为它不是直接包含的,只有当您实际使用它/需要它时才会加载,即,当您将其可见性设置为可见(实际可见)或不可见(仍然不可见,但其大小不再为0)。这是一个很好的优化,因为你可以有一个复杂的布局,在任何地方都有大量的小视图或标题,而且你的活动仍然可以快速加载。一旦你使用了其中一个视图,它就会被加载。由于标

标签和标签的区别是什么?在设计布局时,哪个标签更可取


谢谢,
venu

将只在您的基本xml文件中包含xml内容,就好像整个内容只是一个大文件一样。这是一种在不同布局之间共享布局部分的好方法


有点不同,因为它不是直接包含的,只有当您实际使用它/需要它时才会加载,即,当您将其可见性设置为
可见(实际可见)或
不可见(仍然不可见,但其大小不再为0)。这是一个很好的优化,因为你可以有一个复杂的布局,在任何地方都有大量的小视图或标题,而且你的活动仍然可以快速加载。一旦你使用了其中一个视图,它就会被加载。

由于标签的存在,在Android上共享和重用布局非常容易,有时甚至太容易了,最终你可能会得到包含大量视图的用户界面,其中一些很少被使用。谢天谢地,Android提供了一个名为ViewStub的非常特殊的小部件,它可以在不污染用户界面的情况下为您带来ViewStub的所有好处

ViewStub是一个哑的轻量级视图。它没有维度,不绘制任何内容,也不以任何方式参与布局。这意味着一个ViewStub膨胀起来非常便宜,并且保存在视图层次结构中非常便宜。ViewStub可以最好地描述为惰性包含。视图存根引用的布局只有在您决定时才会膨胀并添加到用户界面。

  • 包括
    用于布局资源
  • 视图存根
    用于布局资源

另一个重要区别与布局膨胀有关。由于无法更改已在XML中静态膨胀的布局,因此有必要替换视图并以编程方式设置布局参数。
使用它可以定义(例如)高度、宽度等。。。并在运行时膨胀不同的布局

是否可以将视图的可见性设置为“true”?视图的唯一可见性选项不是
可见
不可见
消失了吗?视图是否仅在视图可见时加载,还是在视图未消失时加载?@RestInPeace确实,不知道我为什么会这样写(已经三年了…)。从文档中可以看到:“当可见性设置为
可见
不可见
时,将调用充气(),并且此存根视图在其父视图中被充气的布局资源替换。”。因此,当可见性设置为除“已消失”之外的任何内容时,它都会膨胀。感谢您的澄清。但是,我可以使用“已消失”或“不可见”的可见性设置为“已消失”或“不可见”的
include
,与此相比,
ViewStub
有什么好处@格雷戈里:对不起。我在回复你帖子上的一面旗帜,不知道这篇帖子有多老。