是的,Android ViewStub 可以动态加载。ViewStub 是一个轻量级的占位符视图,它在布局文件中定义,但在运行时才会被加载。这样可以减少应用的初始启动时间,因为它只需要加载实际需要的视图。
要动态加载 ViewStub,你可以使用 ViewStub.inflate()
方法。例如:
// 在布局文件中定义一个 ViewStub
<ViewStub
android:id="@+id/view_stub"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="16dp"
android:contentDescription="@string/load_more_items" />
// 在 Activity 或 Fragment 中找到 ViewStub 并加载它
ViewStub viewStub = findViewById(R.id.view_stub);
viewStub.inflate();
当你调用 inflate()
方法时,ViewStub 会从布局文件中加载相应的视图,并将其插入到 ViewStub 的位置。你可以根据需要动态地加载不同的布局,从而实现更灵活的界面切换。