Xamarin Forms - анимировать изменение источника изображения с помощью C # - PullRequest
0 голосов
/ 18 мая 2018

Я смотрю, есть ли способ внести изменения, если источник изображения выглядит так, как будто он скользит, очень похоже на карусель.

Я посмотрел на этот пост но здесь ответ предполагает простую анимацию, а не слайд, моя установка аналогична вышеупомянутому посту в том, что мой источник изображения привязан к переменной в модели представления.

Есть ли способ добиться этого?

1 Ответ

0 голосов
/ 18 мая 2018

Функции анимации по умолчанию, которую предоставляет Xamarin.Forms, достаточно для достижения того, что вы хотите.

Следуя, например, идее @ Johannes, вы можете получить хорошую анимацию.

Вот реализация:

XAML

<Image x:Name="image" 
       Source="Icon"
       HorizontalOptions="CenterAndExpand"/>
<Button Clicked="Button_Clicked"
        Text="Animate"
        HorizontalOptions="Center"/>

Код позади

private async void Button_Clicked(object sender, EventArgs e)
{
    uint transitionTime = 600;
    double displacement = image.Width;

    await Task.WhenAll(
        image.FadeTo(0, transitionTime, Easing.Linear),
        image.TranslateTo(-displacement, image.Y, transitionTime, Easing.CubicInOut));

    // Changes image source.
    image.Source = ImageSource.FromFile("Icon");

    await image.TranslateTo(displacement, 0, 0);
    await Task.WhenAll(
        image.FadeTo(1, transitionTime, Easing.Linear),
        image.TranslateTo(0, image.Y, transitionTime, Easing.CubicInOut));
}

Результат

enter image description here

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...