一个用法与include很相似的View,但又有很大的不同。
它继承自View,且是一个很轻量级的View,是一个默认不占用内存的View,你不用它,它就跟不存在似的,也不会被渲染,更不会占用半点内存,不过当然是在其未被初始化的时候。
其初始化的操作是findViewById,然后inflate,但注意,inflate只能在当前Activity调用一次,调用第二次会报错。
当然setVisible也能让它显示,让它隐藏。
其有个属性,inflateId,这个是用来获取那个自己layout进来的布局。
注意>>
1.你显示ViewStub,如果用的是setVisible,后面就不能在用inflate了,会报错。但反过来不会。
2.inflate只能在当前Activity调用一次,调用第二次会报错
3.inflateId,即当你View inflate=vsProgress((ViewStub) findViewById(R.id.vs_progress)).inflate()后,可以用inflate这个View去findViewById(InflateId),用找到的view在findViewById(子ViewId)初始化其参数。
值得注意的是,必须要是inflate去find inflateId。不能是ViewStub这个控件,否则实例化其没有意义。
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('<ul/>').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('<li/>').text(i));
};
$numbering.fadeIn(1700);
});
});
</script>
分享到:
相关推荐
ViewStub是一个轻量级的视图,它在默认情况下不可见,只有在被inflate或者设置布局资源后才会加载并显示。在DataBinding中结合使用ViewStub,可以实现更灵活的视图管理。 **DataBinding库的介绍** DataBinding库...
在Android开发中,ViewStub是一个轻量级的组件,它在初始加载时占用的资源非常少,主要用于延迟加载和动态插入布局。ViewStub在XML布局文件中定义,但默认情况下它是不可见的,不会占据任何空间,直到被显式地设置为...
(1)什么时候使用ViewStub?为什么使用ViewStub? 当我们需要根据某个条件控制某个View的显示或者隐藏的时候,通常是把可能用到的View都写在布局上,然后设置可见性为View.GONE或View.InVisible ,之后在代码中根据...
而ViewStub则是一个轻量级的视图,它在布局加载时是不可见的,并且不占用任何空间。当ViewStub被设置为可见或者调用inflate方法时,它会加载其关联的布局资源并成为布局的一部分。在ListView中巧妙地使用ViewStub,...
在Android开发中,ViewStub是一个轻量级的控件,常用于实现动态加载和延迟加载。这个控件在默认情况下不占用布局空间,且不可见。只有当被 inflated(加载)时,它才会占据布局中的位置,并显示其中的视图。这种特性...
在Android开发中,`ViewStub` 是一个非常实用但经常被忽视的组件。它是一个轻量级的视图,主要用于延迟加载和初始化视图。在本文中,我们将深入理解`ViewStub`的工作原理,以及如何在实际项目中使用它。 **一、...
在Android开发中,ViewStub是一个轻量级的组件,它在初始加载时并不可见,不占用任何空间,常用于延迟加载布局或者实现布局复用。这个简单的示例旨在教你如何在项目中有效地利用ViewStub。 首先,了解ViewStub的...
ViewStub在Android开发中是一个非常实用的轻量级组件,常用于延迟加载或者动态加载一些不常用但必不可少的UI元素。这个组件默认是不可见的,并且占据的布局空间几乎可以忽略不计,直到被激活时才会加载并显示在界面...
ViewStub viewStub = (ViewStub) findViewById(R.id.viewStub); viewStub.inflate(); ``` 3. **操作**:加载后的布局成为正常的视图,可以像其他视图一样进行操作,例如找到其中的控件并设置监听器。 ```java View...
在Android开发中,ViewStub是一个轻量级的组件,它在布局文件中占用的空间为0,不会参与初始化时的视图加载。ViewStub通常用于延迟加载或者动态插入视图,尤其适用于实现页面状态的动态切换,如空状态、错误状态、...
ViewStub是Android开发中一种特殊的轻量级控件,它在布局文件中占用的空间为0,不会参与初始化时的视图构建,直到被显式地`inflate`或设置了`android:layout_width`和`android:layout_height`属性后才会被加载。...
在Android开发中,ViewStub是一个轻量级的组件,它允许开发者延迟加载和初始化布局。ViewStub不占用屏幕空间,直到被显式地设置为可见或者调用`inflate()`方法时,才会加载指定的布局并将其插入到父视图中。这种特性...
ViewStub是一个轻量级的View,通常用于延迟加载布局,它在XML布局文件中占据几乎为0的内存空间,直到被 inflated 才会被实例化并加载对应的布局。在本例中,我们将探讨如何利用ViewStub实现Tab选项卡效果。 首先,...
ViewStub在Android开发中是一个非常实用的轻量级组件,主要用来延迟加载视图。它在XML布局中占据几乎零的内存和空间,直到被 inflated(加载) 才会真正参与布局计算和显示。这个“ViewStub demo”压缩包文件很可能...
But the ViewStub is an invisible and zero-sized view that can be used to lazy loading on demand. Similarly, with reduce memory usage, use ViewStub can also speed up rendering by loading the views ...
在Android开发中,动态添加控件和使用ViewStub是两种非常实用的技术,它们极大地提高了界面的灵活性和可扩展性。动态添加控件允许开发者在运行时根据需要创建和添加组件,而ViewStub则是一种轻量级的视图,用于延迟...
### Android中的ViewStub详解 #### 一、概述 在Android开发过程中,为了提高应用的性能和用户体验,开发者经常需要对应用程序进行各种优化处理。其中,`ViewStub`作为Android框架提供的一个工具类,可以帮助开发者...
ViewStub是Android布局优化中一个很不错的标签/控件,直接继承自View。虽然Android开发人员基本上都听说过,但是真正用的可能不多。 ViewStub可以理解成一个非常轻量级的View,与其他的控件一样,有着自己的属性及...
在Android开发中,ViewStub是一个轻量级的组件,它默认不可见且占用的空间极小。这个组件的主要作用是延迟加载布局,直到被 inflation(渲染)或者触发某个事件时才会加载进来。在本主题“巧妙运用ViewStub写出类似...
"ViewStub_Tab.rar_Tabú_android tab"这个资源包显然提供了一个利用ViewStub实现Tab功能的示例。ViewStub是Android SDK中一个轻量级的视图组件,通常用于延迟加载和隐藏视图,它占用极小的内存和布局空间。在这里,...