ViewStub คือ View ชนิดหนึ่งที่มีการใช้งาน Memmory น้อยมาก ๆ เนื่องจากว่าตัว ViewStub นั้นจะไม่มีการเขียนสิ่งใดลงบนจอเลยทำให้การทำงานของ ViewStub ไม่ปรากฏบนจออีกทั้งตัว ViewStub นั้นสามารถทำการ Inflate View อื่น ๆ เข้ามาแนที่ตัวมันเองได้ในขณะที่ทำงานอยู่โดยที่เราจะต้องเขียนคำสั่งในการ Inflate ให้กับตัว ViewStub
ตัวอย่างโค้ดในไฟล์ .xml
โค้ดนี้เป็นการประกาศหรือใช้งาน ViewStub
โค้ด: เลือกทั้งหมด
<ViewStub android:id="@+id/stub"
android:inflatedId="@+id/layout_banned_user"
android:layout="@layout/banned_user"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
ตัวอย่างการใช้งานคำสั่ง Inflate ด้านล่าง
โค้ด: เลือกทั้งหมด
ViewStub viewStub = (ViewStub) findViewById(R.id.stub);
viewStub.setVisibility(View.VISIBLE);
โค้ด: เลือกทั้งหมด
View layoutBannedUser = viewStub.inflate();