带动画和延迟的启动画面

时间:2016-08-31 19:29:40

标签: xamarin xamarin.forms

我想编写一个启动画面,在点击演示文稿的图像后,开始动画(在图像上),然后在5秒后进入登录页面。

我试图找到它的解决方案,但答案用于与特定的平台相关。

我的想法是通过跨平台进行编码。

1 个答案:

答案 0 :(得分:2)

经过研究,我发现解决方案来自Xamarin官方网页(动画样本)和另一页(延迟时间)我不记得该网站......

我发布这个问题和答案,因为我觉得社区真的很有趣。

           Button startButton = new Button() { Image = "splashlogo.png", BackgroundColor = Xamarin.Forms.Color.Transparent, HorizontalOptions = Xamarin.Forms.LayoutOptions.Center, Scale = 3.5};

            startButton.Clicked += async (object sender, EventArgs e) =>
            {
                var parentAnimation = new Animation();
                var scaleUpAnimation = new Animation(v => startButton.Scale = v, 1, 2, Easing.SpringIn);
                var rotateAnimation = new Animation(v => startButton.Rotation = v, 0, 360);
                var scaleDownAnimation = new Animation(v => startButton.Scale = v, 2, 1, Easing.SpringOut);

                parentAnimation.Add(0, 0.5, scaleUpAnimation);
                parentAnimation.Add(0, 1, rotateAnimation);
                parentAnimation.Add(0.5, 1, scaleDownAnimation);

                parentAnimation.Commit(startButton, "ChildAnimations", 16, 4000, null);
                await Task.Delay(5000);
                await App.Current.MainPage.Navigation.PushModalAsync(new Login());
            };

                public static async Task Sleep(int ms)
                {
                    await Task.Delay(ms);
                }