Page 1 of 1

การทำ ViewStub ใน Android Studio เพื่อใช้ซ่อนหน้า Layout

Posted: 02/05/2018 4:10 pm
by rangsan
การทำ ViewStub

ViewStub คือ View ชนิดหนึ่งที่มีการใช้งาน Memmory น้อยมาก ๆ เนื่องจากว่าตัว ViewStub นั้นจะไม่มีการเขียนสิ่งใดลงบนจอเลยทำให้การทำงานของ ViewStub ไม่ปรากฏบนจออีกทั้งตัว ViewStub นั้นสามารถทำการ Inflate View อื่น ๆ เข้ามาแนที่ตัวมันเองได้ในขณะที่ทำงานอยู่โดยที่เราจะต้องเขียนคำสั่งในการ Inflate ให้กับตัว ViewStub

ตัวอย่างโค้ดในไฟล์ .xml
โค้ดนี้เป็นการประกาศหรือใช้งาน ViewStub

Code: Select all

<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 ด้านล่าง

Code: Select all

ViewStub viewStub = (ViewStub) findViewById(R.id.stub);

viewStub.setVisibility(View.VISIBLE);
หรืออีกแบบนึง

Code: Select all

View layoutBannedUser = viewStub.inflate();
อ้างอิง : trydroid.com