Animation Xamarin在启动时形成动画

Animation Xamarin在启动时形成动画,animation,xamarin.forms,Animation,Xamarin.forms,我试图在页面加载的那一刻就让一个图像动画化,但我的方法在启动时似乎不起作用。但是我已经用一个按钮测试过了,它可以播放动画 这是我的主页的构造函数 public MainPage() { InitializeComponent(); CreatePanel(); var storyboard = new Animation(); var enterTop = new Animation ( callback: d => banne

我试图在页面加载的那一刻就让一个图像动画化,但我的方法在启动时似乎不起作用。但是我已经用一个按钮测试过了,它可以播放动画

这是我的主页的构造函数

public MainPage()
{
    InitializeComponent();

    CreatePanel();

    var storyboard = new Animation();

    var enterTop = new Animation
    (
        callback: d => bannerIcon.TranslationY = d,
        start: -100,
        end: 0,
        easing: Easing.BounceOut
    );

    storyboard.Add(0, 1, enterTop);
    storyboard.Commit(bannerIcon, "Banner", length: 1000);

    Content = layout;
}
我应该在OnAppearing方法中使用这段代码,还是我完全错了

解决方案

只需将动画代码移到OnAppearing()方法中


您甚至可以在设置内容之前运行动画(可能的动画在您甚至可以查看它之前就完成了,这有助于使用按钮单击的动画参数。我也会按照您的建议移动动画。在OnAppearing方法中提交,并将动画设置为更长的长度,以便进行测试。

这看起来像Xamarin.iOS,而不是Forms。不,不是它的表单。好吧在我的表单项目中使用了这段代码,当连接到按钮或其他什么东西时,它工作得非常好。我只是不知道如何让它在Startup上播放动画。试着将它放在OnAppearing方法中,而不是构造函数中。是的,这似乎很有效。非常感谢
protected override void OnAppearing()
{
    base.OnAppearing();

    banner.IsVisible = false;

    // animations
    menuAnimations.FlyIn(banner, 1000);

    menuAnimations.Rotate(btnSocial, 360);
    menuAnimations.Rotate(btnVideo, 360);
    menuAnimations.Rotate(btnSchedule, 360);
    menuAnimations.Rotate(btnLunchMenu, 360);
    menuAnimations.Rotate(btnContact, 360);
    menuAnimations.Rotate(btnDetails, 360);
}