เพียงดาวน์โหลดแพ็คเกจจากที่นี่ และเพิ่มลงใน classpath โปรเจ็กต์ของคุณ หรือใช้ maven repo:
เกรด:
' com.ramotion.foldingcell:folding-cell:1.2.3 '
เสาร์:
libraryDependencies += " com.ramotion.foldingcell " % " folding-cell " % " 1.2.3 "
มาเวน:
< dependency >
< groupId >com.ramotion.foldingcell</ groupId >
< artifactId >folding-cell</ artifactId >
< version >1.2.3</ version >
</ dependency >
com.ramotion.foldingcell.FoldingCell
ลงในเลย์เอาต์ของคุณ < com .ramotion.foldingcell.FoldingCell
xmlns : android = " http://schemas.android.com/apk/res/android "
android : id = " @+id/folding_cell "
android : layout_width = " match_parent "
android : layout_height = " wrap_content " >
</ com .ramotion.foldingcell.FoldingCell>
2. เพิ่มองค์ประกอบลูก สอง รายการลงในเซลล์ของคุณ ลูกคนแรก ( มุมมองเนื้อหา ) แสดงถึงโครงร่างสถานะที่กางออกเสมอ และลูกคนที่สอง ( มุมมองชื่อเรื่อง ) แสดงถึงโครงร่างสถานะที่ถูกพับ แน่นอนว่า เค้าโครงเหล่านั้นสามารถมีองค์ประกอบย่อยจำนวนเท่าใดก็ได้ และอาจมีความซับซ้อนใดๆ ก็ได้ แต่เพื่อให้ทำงานได้อย่างถูกต้อง มีข้อจำกัดบางประการ: ความสูงของการดูเนื้อหา ต้องมากกว่า ความสูงในการดูชื่อเรื่อง อย่างน้อย 2 เท่า และความสูงของแต่ละองค์ประกอบ เค้าโครงเหล่านั้นจะต้องตั้งค่าเป็น android:layout_height="wrap_content"
หากคุณต้องการกำหนดความสูงที่แน่นอนใน dp
คุณสามารถตั้งค่าความสูงขององค์ประกอบย่อยในเค้าโครงของคุณเองภายใน มุมมองเนื้อหา หรือ มุมมองชื่อเรื่อง นอกจากนี้ คุณต้องซ่อนเค้าโครง มุมมองเนื้อหา ของคุณโดยใช้ android:visibility="gone"
< com .ramotion.foldingcell.FoldingCell
xmlns : android = " http://schemas.android.com/apk/res/android "
android : id = " @+id/folding_cell "
android : layout_width = " match_parent "
android : layout_height = " wrap_content " >
< FrameLayout
android : id = " @+id/cell_content_view "
android : layout_width = " match_parent "
android : layout_height = " wrap_content "
android : background = " @android:color/holo_green_dark "
android : visibility = " gone " >
< TextView
android : layout_width = " match_parent "
android : layout_height = " 250dp " />
</ FrameLayout >
< FrameLayout
android : id = " @+id/cell_title_view "
android : layout_width = " match_parent "
android : layout_height = " wrap_content " >
< TextView
android : layout_width = " match_parent "
android : layout_height = " 100dp "
android : background = " @android:color/holo_blue_dark " />
</ FrameLayout >
</ com .ramotion.foldingcell.FoldingCell>
3. ใกล้เสร็จแล้ว! เหลืออีกสองขั้นตอน! สำหรับภาพเคลื่อนไหวที่ถูกต้อง คุณต้องตั้งค่าคุณสมบัติสองประการบนองค์ประกอบรากของเซลล์พับของคุณ:
android:clipChildren="false"
android:clipToPadding="false"
4.ขั้นตอนสุดท้าย! เพิ่ม onClickListener ลงในเซลล์พับของคุณใน MainActivity.java
เพื่อสลับภาพเคลื่อนไหว:
@ Override
protected void onCreate ( Bundle savedInstanceState ) {
super . onCreate ( savedInstanceState );
setContentView ( R . layout . activity_main );
// get our folding cell
final FoldingCell fc = ( FoldingCell ) findViewById ( R . id . folding_cell );
// attach click listener to folding cell
fc . setOnClickListener ( new View . OnClickListener () {
@ Override
public void onClick ( View v ) {
fc . toggle ( false );
}
});
}
5. ขั้นตอนพิเศษ - ปรับแต่งการตั้งค่าเซลล์ สำหรับตอนนี้ มีพารามิเตอร์หลักสามประการ ได้แก่ เวลาแอนิเมชั่น สีด้านหลัง และการนับการพลิกเพิ่มเติม ถ้าสองข้อแรกไม่ก่อให้เกิดคำถาม ข้อที่สามต้องการคำอธิบายบางประการ เป็นการนับการพลิกที่จะดำเนินการหลังจากการพลิกครั้งแรก (หลัก) ค่าเริ่มต้นคือ 0
(เลือกอัตโนมัติ) นอกจากนี้ยังมีพารามิเตอร์เพิ่มเติมตัวที่สี่ - ความสูงของกล้อง โดยจะควบคุมระดับ (ความลึก) ของเอฟเฟกต์ 3 มิติ มีสองวิธีในการเปลี่ยนการตั้งค่าเซลล์: จากไฟล์เค้าโครง xml ด้วยเนมสเปซ res-auto
xmlns:folding-cell="http://schemas.android.com/apk/res-auto"
:
folding-cell:animationDuration="1000"
folding-cell:backSideColor="@color/bgBackSideColor"
folding-cell:additionalFlipsCount="2"
folding-cell:cameraHeight="30"
หรือจากรหัส:
// get our folding cell
final FoldingCell fc = ( FoldingCell ) findViewById ( R . id . folding_cell );
// set custom parameters
fc . initialize ( 1000 , Color . DKGRAY , 2 );
// or with camera height parameter
fc . initialize ( 30 , 1000 , Color . DKGRAY , 2 );
คุณสามารถค้นหาตัวอย่างนี้และตัวอย่างอื่นๆ ที่ซับซ้อนกว่านี้ได้ในพื้นที่เก็บข้อมูลนี้
Folding Cell เปิดตัวภายใต้ใบอนุญาต MIT ดูใบอนุญาตสำหรับรายละเอียด
ไลบรารีนี้เป็นส่วนหนึ่งของ โครงการโอเพ่นซอร์ส UI ที่ดีที่สุดของเรา
หากคุณใช้ไลบรารีโอเพ่นซอร์สในโครงการของคุณ โปรดตรวจสอบให้แน่ใจว่าได้ให้เครดิตและลิงก์ย้อนกลับไปที่ www.ramotion.com
ลองใช้องค์ประกอบ UI นี้และอื่นๆ ที่คล้ายกันในแอป Android ของเรา ติดต่อเราหากสนใจ