การทำ ViewStub
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" />
เมื่อเราต้องการให้ View อื่นนั้นมาแทนที่ตัว ViewStub นั้นก็จะใช้คำสั่ง Inflate ด้านล่าง
ตัวอย่างการใช้งานคำสั่ง Inflate ด้านล่าง
โค้ด: เลือกทั้งหมด
ViewStub viewStub = (ViewStub) findViewById(R.id.stub);
viewStub.setVisibility(View.VISIBLE);
หรืออีกแบบนึง
โค้ด: เลือกทั้งหมด
View layoutBannedUser = viewStub.inflate();
อ้างอิง : trydroid.com