Как динамически изменить положение изображения (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);

Где:

  • view — представление для преобразования.

  • x – компонент x окончательного вектора перевода.

  • y — компонент y конечного вектора перевода.

  • length — продолжительность анимации в миллисекундах.

  • easing — смягчение анимации.

Пример, как анимировать перевод:

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