Xamarin在启动时形成动画

时间:2016-09-30 12:49:50

标签: animation xamarin.forms

我试图在页面加载时让图像变为动画但我的方法似乎在启动时无效。但是我已经用一个按钮对它进行了测试,它没有动画播放动画。

这是我的MainPage的构造函数

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()方法中即可。

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);
}

1 个答案:

答案 0 :(得分:1)

你在内容被设置之前运行动画(可能的动画已经完成,你甚至可以查看它有助于动画的参数工作按钮点击我也会按你的建议做,并移动animation.commit里面的OnAppearing方法并将动画设置为更长的长度以用于测试目的