是的,Android ViewStub 可以動(dòng)態(tài)加載。ViewStub 是一個(gè)輕量級(jí)的占位符視圖,它在布局文件中定義,但在運(yùn)行時(shí)才會(huì)被加載。這樣可以減少應(yīng)用的初始啟動(dòng)時(shí)間,因?yàn)樗恍枰虞d實(shí)際需要的視圖。
要?jiǎng)討B(tài)加載 ViewStub,你可以使用 ViewStub.inflate()
方法。例如:
// 在布局文件中定義一個(gè) 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();
當(dāng)你調(diào)用 inflate()
方法時(shí),ViewStub 會(huì)從布局文件中加載相應(yīng)的視圖,并將其插入到 ViewStub 的位置。你可以根據(jù)需要?jiǎng)討B(tài)地加載不同的布局,從而實(shí)現(xiàn)更靈活的界面切換。