การใช้ Layout Manager แบบต่างๆ

build.gradle (Module: app)

drawable/item_border.xml

layout/custom_layout.xml

menu/popup.xml

content_main.xml

CustomHolder.java

CustomItem.java

CustomAdapter.java

บรรทัดที่ 52 : กรณีที่ใช้ StaggeredGridLayout ให้เอาคอมเมนต์บรรทัดที่ 52 ออกด้วย

MainActivity.java

บรรทัดที่ 52 : เลือกใช้ LinearLayout แบบ horizontal, ต้องเรียกใช้บรรทัดที่ 57 ด้วย
บรรทัดที่ 53 : เลือกใช้ GridLayoutManager, ต้องเรียกใช้บรรทัดที่ 58 ด้วย
บรรทัดที่ 54 : เลือกใช้ StaggeredGridLayoutManager ซึ่งเป็นการจัดเรียงรายการแบบตารางคล้ายกับ GridLayoutManager แต่ขนาดของรายการอาจจะไม่สม่ำเสมอกันได้
บรรทัดที่ 57-58 : เป็นการเรียกใช้ GravitySnapHelper เพื่อทำให้การเลื่อนหยุดพอดีที่แนวขอบของรายการและของหน้าจอ (เลย์เอาต์) อยู่ตรงกัน

รูปที่ใช้