เฟรมเวิร์กลากและวางของ Android ช่วยให้คุณเพิ่มความสามารถในการลากและวางแบบอินเทอร์แอกทีฟ
ลงในแอปได้ การลากและวางช่วยให้ผู้ใช้สามารถคัดลอกหรือย้ายข้อความ
รูปภาพ ออบเจ็กต์ และเนื้อหาใดๆ ที่แสดงด้วย URI จากView
หนึ่งไปยังอีกรายการหนึ่งภายในแอป หรือระหว่างแอป
ในโหมดหลายหน้าต่าง
![]() |
![]() |
|
|
เฟรมเวิร์กประกอบด้วยคลาสเหตุการณ์การลาก, Listener การลาก และคลาสและเมธอดตัวช่วย แม้ว่าเฟรมเวิร์กจะออกแบบมาเพื่อเปิดใช้การโอนข้อมูลเป็นหลัก แต่คุณก็สามารถใช้เฟรมเวิร์กนี้สำหรับการดำเนินการอื่นๆ ใน UI ได้ เช่น คุณสามารถสร้างแอปที่ ผสมสีเมื่อผู้ใช้ลากไอคอนสีไปวางไว้เหนือไอคอนอื่น อย่างไรก็ตาม ส่วนที่เหลือของเอกสารจะอธิบายเฟรมเวิร์กการลากและวางในบริบทของการโอนข้อมูล
ภาพรวม
กระบวนการลากเกี่ยวข้องกับองค์ประกอบ 2-3 อย่าง
ลากแหล่งที่มา: มุมมองจุดเริ่มต้นของกระบวนการลากและวาง
เป้าหมายการวาง: มุมมองที่รับข้อมูลที่ลากได้
เงาของการลาก: เงาของการลากคือการแสดง ข้อมูลที่กำลังลาก ซึ่งผู้ใช้จะมองเห็นได้
เหตุการณ์การลาก ขณะที่ผู้ใช้เลื่อนเงาการลากเหนือเลย์เอาต์ของแอป ระบบจะส่งเหตุการณ์การลากไปยังเครื่องมือฟังเหตุการณ์การลากและ เมธอดเรียกกลับที่เชื่อมโยงกับออบเจ็กต์
View
ในเลย์เอาต์
การลากและวางจะเริ่มขึ้นเมื่อผู้ใช้ทำท่าทางใน UI ที่แอปของคุณ รับรู้ว่าเป็นสัญญาณให้เริ่มลากข้อมูล ใน การตอบกลับ แอปจะแจ้งให้ระบบทราบว่าการดำเนินการลากและวางกำลังจะ เริ่มต้น ระบบจะเรียกกลับไปยังแอปของคุณเพื่อรับเงาการลากและแสดงต่อผู้ใช้ในระหว่างกระบวนการลากและวาง
ขณะที่ผู้ใช้เลื่อนเงาการลากเหนือเลย์เอาต์ของแอป ระบบจะส่งเหตุการณ์การลากไปยังเครื่องมือฟังเหตุการณ์การลากและวิธีการเรียกกลับ
ที่เชื่อมโยงกับออบเจ็กต์ View
ในเลย์เอาต์ หากผู้ใช้ปล่อยเงาการลากเหนือเป้าหมายการวาง ระบบจะส่งข้อมูลไปยังเป้าหมายนั้น การลากและวาง
จะสิ้นสุดลงเมื่อผู้ใช้ปล่อยเงาการลาก ไม่ว่าเงาการลาก
จะอยู่เหนือเป้าหมายการวางหรือไม่ก็ตาม
หัวข้อ
- แนวคิดหลัก
- ทำความเข้าใจกระบวนการลากและวาง
- DropHelper เพื่อการลากและวางที่ง่ายขึ้น
- ดูวิธีใช้การลากและวางด้วย
DropHelper
- ใช้การลากและวางกับมุมมอง
- หรือจะใช้การลากและวางกับมุมมอง Android ก็ได้ ซึ่งจะช่วยให้ นักพัฒนาแอปควบคุมรายละเอียดได้มากขึ้น
- ลากและวางในโหมดหลายหน้าต่าง
- รองรับการลากและวางในโหมดหลายหน้าต่าง อนุญาตให้ย้ายออบเจ็กต์ข้ามแอปพลิเคชันต่างๆ
แหล่งข้อมูลเพิ่มเติม
- Codelab สำหรับการลากและวางโดยใช้มุมมอง
- วิดีโอลากและวางเพื่อทำงานหลายอย่างพร้อมกันได้อย่างราบรื่น
- ตัวอย่างการลากและวางซึ่งมีวิธีต่างๆ ในการใช้งานการลากและวางพร้อมกับการยอมรับสื่อสมบูรณ์