Bagaimana cara mengubah posisi gambar (x dan y) secara dinamis saat runtime di Xamarin.Forms?

Saya menggunakan Xamarin.Forms dan ingin mengubah posisi gambar secara dinamis (dalam kode di belakang).

Saya awalnya memuat gambar secara statis dengan mendefinisikannya dalam file .xaml. Kemudian saya ingin memperbarui posisi gambar (secara horizontal dan vertikal) secara dinamis tergantung pada nilai waktu proses dari pengguna. Gambar harus bergerak sesuai nilai input pengguna.

Sayangnya saya tidak dapat menemukan contoh kode untuk ini.

Bagaimana cara mengubah posisi gambar secara dinamis (dalam kode di belakang)?


person skt    schedule 11.10.2018    source sumber


Jawaban (1)


Anda dapat memanipulasi koordinat X dan Y suatu elemen menggunakan properti TranslationX dan TranslationY.

Untuk menganimasikan Anda dapat menggunakan metode 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);

Di mana:

  • tampilan - Tampilan yang akan diubah.

  • x - Komponen x dari vektor terjemahan akhir.

  • y - Komponen y dari vektor terjemahan akhir.

  • panjang - Durasi animasi dalam milidetik.

  • easing - Pelonggaran animasi.

Contoh cara menganimasikan terjemahannya:

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