Xamarin Forms-使用C#动画更改图像源

Dar*_*ter 3 c# animation image xamarin.forms

我正在寻找是否有一种方法可以改变图像源的外观,就像它像旋转木马一样。

我看了一下这篇文章,但是这里的答案暗示了一个简单的动画,而不是实际上的幻灯片,我的设置与上述文章类似,因为我的图像源绑定到视图模型中的变量。

有什么办法可以做到这一点?

Die*_*uza 5

Xamarin.Forms提供的默认动画功能足以实现所需的功能。

遵循@Johannes的想法,例如,您可以制作一个漂亮的动画。

这是一个实现:

XAML

<Image x:Name="image" 
       Source="Icon"
       HorizontalOptions="CenterAndExpand"/>
<Button Clicked="Button_Clicked"
        Text="Animate"
        HorizontalOptions="Center"/>
Run Code Online (Sandbox Code Playgroud)

后面的代码

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));
}
Run Code Online (Sandbox Code Playgroud)

结果

在此处输入图片说明

希望对您有所帮助。