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

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: การทำ ViewStub ใน Android Studio เพื่อใช้ซ่อนหน้า Layout

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

โดย rangsan » 02/05/2018 4:10 pm

การทำ 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

ข้างบน