跳转到主内容
极星编程网:以代码为星,赴技术山海!

Android ViewStub使用方法学习

目录前言

1.ViewStub的优势

2.ViewStub的使用

属性 功能简单实战

1.viewstub就是动态加载试图

2.看一个简单的demo

3.当调用第二次inflate的时候,会报错:

文末Android ViewStub的使用注意事项前言当渲染一个活动时,这个活动的布局可能会有很多visible为invisible和gone的情况,虽然这些控件虽然现在不显示在屏幕上,但是系统在加载这个布局文件时还是会加载它的,这就影响了这个页面的加载效率,因为这些不可见的控件提前加载它们并没有什么实际的意义,反而会减缓页面的加载时间,所以为了解决这个问题可以使用ViewStub来懒加载暂时不显示的布局.

1.ViewStub的优势

简单来说, ViewStub可以做到按需加载一个布局,我们可以控制它加载的时机,而不是在Activity的onCreate方法中去加载.即懒加载

2.ViewStub的使用

属性 功能android:inflatedId="@+id/text" 为我们要加载的布局提供一个id android:layout 我们需要加载的布局 除此之外 app:layout_constraintTop_toBottomOf="@id/textView3"android:layout_marginTop="180dp"android:layout_marginLeft="100dp"/>这些代表我们懒加载的布局在父布局的位置,如果懒加载的布局有相同的属性,将会被覆盖//通过id得到viewStub对象ViewStub viewStub = findViewById(R.id.stub);//动态加载布局viewStub.inflate();简单实战

1.viewstub就是动态加载试图

也就是在我们的app启动绘制页面的时候,他不会绘制到view树中;当在代码中执行inflate操作后,她才会被添加到试图中。其实ViewStub就是一个宽高都为0的一个View,它默认是不可见的,只有通过调用setVisibility函数或者Inflate函数才 会将其要装载的目标布局给加载出来,从而达到延迟加载的效果,这个要被加载的布局通过android:layout属性来设置。最终目的是把app加载页面的速度提高了,使用户体验更好。

2.看一个简单的demo

viewstub.xmlactivity_myviewstub.xml

相关文章