ฉันจะเปลี่ยนตำแหน่งของรูปภาพ (x และ y) แบบไดนามิกขณะรันไทม์ใน Xamarin.Forms ได้อย่างไร

ฉันใช้ Xamarin.Forms และต้องการเปลี่ยนตำแหน่งของรูปภาพแบบไดนามิก (ในโค้ดด้านหลัง)

ในตอนแรกฉันได้โหลดรูปภาพแบบคงที่โดยกำหนดไว้ในไฟล์ .xaml จากนั้น ฉันต้องการอัปเดตตำแหน่งของรูปภาพ (แนวนอนและแนวตั้ง) แบบไดนามิก ขึ้นอยู่กับค่ารันไทม์จากผู้ใช้ รูปภาพควรเคลื่อนไหวตามค่าที่ผู้ใช้ป้อน

ขออภัย ฉันไม่พบตัวอย่างโค้ดสำหรับสิ่งนี้

ฉันจะเปลี่ยนตำแหน่งของรูปภาพแบบไดนามิก (ในโค้ดด้านหลัง) ได้อย่างไร


person skt    schedule 11.10.2018    source แหล่งที่มา


คำตอบ (1)


คุณสามารถจัดการพิกัด X และ Y ขององค์ประกอบได้โดยใช้คุณสมบัติ TranslationX และ TranslationY

ในการทำให้เคลื่อนไหวคุณสามารถใช้วิธี TranslateTo:

public static System.Threading.Tasks.Task<bool> TranslateTo (this Xamarin.Forms.VisualElement view, double x, double y, uint length = 250, Xamarin.Forms.Easing easing = null);

ที่ไหน:

  • มุมมอง - มุมมองที่จะแทน

  • x - องค์ประกอบ x ของเวกเตอร์การแปลขั้นสุดท้าย

  • y - องค์ประกอบ y ของเวกเตอร์การแปลขั้นสุดท้าย

  • ความยาว - ระยะเวลาของภาพเคลื่อนไหวในหน่วยมิลลิวินาที

  • การค่อยๆ เปลี่ยน - การค่อยๆ เปลี่ยนของภาพเคลื่อนไหว

ตัวอย่างวิธีการทำให้การแปลเป็นภาพเคลื่อนไหว:

await image.TranslateTo (-100, 0, 1000);    // Move image left
await image.TranslateTo (-100, -100, 1000); // Move image up
await image.TranslateTo (100, 100, 2000);   // Move image diagonally down and right
await image.TranslateTo (0, 100, 1000);     // Move image left
await image.TranslateTo (0, 0, 1000);       // Move image up
person Bruno Caceiro    schedule 11.10.2018