예제 #1
0
        public void Position()
        {
            var startPosition = solidView.Layer.Position;

            var a = new CAKeyFrameAnimation {
                KeyTimes = new [] {
                    NSNumber.FromDouble(0),
                    NSNumber.FromDouble(0.25),
                    NSNumber.FromDouble(0.5),
                    NSNumber.FromDouble(0.625),
                    NSNumber.FromDouble(0.75),
                    NSNumber.FromDouble(0.75 + 0.125 / 2),
                    NSNumber.FromDouble(0.75 + 0.125),
                    NSNumber.FromDouble(1),
                },
                Values = new NSObject[] {
                    NSValue.FromPointF(startPosition),
                    NSValue.FromPointF(new PointF(startPosition.X, startPosition.Y - 100)),
                    NSValue.FromPointF(startPosition),
                    NSValue.FromPointF(new PointF(startPosition.X, startPosition.Y - 25)),
                    NSValue.FromPointF(startPosition),
                    NSValue.FromPointF(new PointF(startPosition.X, startPosition.Y - 12.5f)),
                    NSValue.FromPointF(startPosition),
                },
                TimingFunction = CAMediaTimingFunction.FromName(
                    CAMediaTimingFunction.EaseInEaseOut),
                Duration = 4,
                KeyPath  = "position",
            };

            solidView.Layer.AddAnimation(a, "PositionAnimation");
        }
예제 #2
0
            /// <summary>
            /// Animates a card from startPos to endPos over time
            /// </summary>
            protected override void AnimateCard(object platformObject, string animName, PointF startPos, PointF endPos, float duration, PlatformCardCarousel parentDelegate)
            {
                // make sure we're not already running an animation
                UIView cardView = platformObject as UIView;

                if (cardView.Layer.AnimationForKey(animName) == null)
                {
                    CABasicAnimation cardAnim = CABasicAnimation.FromKeyPath("position");

                    cardAnim.From = NSValue.FromPointF(startPos);
                    cardAnim.To   = NSValue.FromPointF(endPos);

                    cardAnim.Duration       = duration;
                    cardAnim.TimingFunction = CAMediaTimingFunction.FromName(CAMediaTimingFunction.EaseInEaseOut);

                    // these ensure we maintain the card position when finished
                    cardAnim.FillMode            = CAFillMode.Forwards;
                    cardAnim.RemovedOnCompletion = false;


                    // if a delegate was provided, give it to the card
                    if (parentDelegate != null)
                    {
                        cardAnim.Delegate = new CaourselAnimDelegate()
                        {
                            Parent = this, Card = cardView
                        };
                    }

                    //
                    cardView.Layer.AddAnimation(cardAnim, animName);
                }
            }
예제 #3
0
        private void socialanimate(float offset, bool down_on, bool logo_on)
        {
            if (!down_on)
            {
                UIView.Animate(0.25, 0, UIViewAnimationOptions.CurveEaseIn,
                               () => { DownView.Center = new PointF((float)DownView.Center.X,
                                                                    (float)DownView.Center.Y + 100); }, null);
            }

            if (!logo_on)
            {
                UIView.Animate(0.25, 0, UIViewAnimationOptions.CurveEaseIn, () =>
                               { LogoView.Alpha = 0; }, null);
            }

            UIView.Animate(0.36, 0, UIViewAnimationOptions.CurveEaseIn,
                           () => { ConectarField.Center = new PointF((float)ConectarField.Center.X + offset,
                                                                     (float)ConectarField.Center.Y); }, null);

            UIView.Animate(0.44, 0, UIViewAnimationOptions.CurveEaseIn,
                           () => { FacebookView.Center = new PointF((float)FacebookView.Center.X + offset,
                                                                    (float)FacebookView.Center.Y); }, null);

            UIView.Animate(0.52, 0, UIViewAnimationOptions.CurveEaseIn,
                           () => { TwitterView.Center = new PointF((float)TwitterView.Center.X + offset,
                                                                   (float)TwitterView.Center.Y); }, null);

            var l_animation = CABasicAnimation.FromKeyPath("position");

            l_animation.TimingFunction      = CAMediaTimingFunction.FromName(CAMediaTimingFunction.EaseIn);
            l_animation.From                = NSValue.FromPointF(new PointF((float)LinkedView.Center.X, (float)LinkedView.Center.Y));
            l_animation.To                  = NSValue.FromPointF(new PointF((float)LinkedView.Center.X + offset, (float)LinkedView.Center.Y));
            l_animation.Duration            = 0.6;
            l_animation.RemovedOnCompletion = false;

            l_animation.AnimationStopped += (s, e) => {
                //LinkedView.Layer.Position = new PointF ((float)LinkedView.Center.X + offset,(float)LinkedView.Center.Y) ;
                //input botton buttons
                if (down_on)
                {
                    UIView.Animate(0.25, 0, UIViewAnimationOptions.CurveEaseIn,
                                   () => { DownView.Center = new PointF((float)DownView.Center.X,
                                                                        (float)DownView.Center.Y - 100); }, null);
                }

                if (logo_on)
                {
                    UIView.Animate(0.2, 0, UIViewAnimationOptions.CurveEaseIn, () =>
                                   { LogoView.Alpha = 1; }, null);
                }
            };
            LinkedView.Layer.AddAnimation(l_animation, "position");
            LinkedView.Layer.Position = new PointF((float)LinkedView.Center.X + offset, (float)LinkedView.Center.Y);
        }
예제 #4
0
        public void MoveToPosition(PointF newPos)
        {
            var posAnim = CABasicAnimation.FromKeyPath("position");

            posAnim.From           = NSValue.FromPointF(Position);
            posAnim.To             = NSValue.FromPointF(newPos);
            posAnim.Duration       = (newPos.IsEmpty) ? 0.2f : 0.4f;
            posAnim.TimingFunction = CAMediaTimingFunction.FromName(CAMediaTimingFunction.Default);
            AddAnimation(posAnim, "position");
            Position = newPos;
        }
예제 #5
0
        //register
        //UIView RegisterPhoto , R_UserView , R_PassView,R_CorreoView , R_NombreView, R_ApellidoView, R_ProfView ;

        private void registeranimate(float offset, bool photo_on)
        {
            if (!photo_on)
            {
                UIView.Animate(0.25, 0, UIViewAnimationOptions.CurveEaseIn,
                               () => { RegisterPhoto.Center = new PointF((float)RegisterPhoto.Center.X,
                                                                         (float)RegisterPhoto.Center.Y - 150); }, null);
            }
            //
            UIView.Animate(0.36, 0, UIViewAnimationOptions.CurveEaseIn,
                           () => { R_UserView.Center = new PointF((float)R_UserView.Center.X + offset,
                                                                  (float)R_UserView.Center.Y); }, null);

            UIView.Animate(0.42, 0, UIViewAnimationOptions.CurveEaseIn,
                           () => { R_PassView.Center = new PointF((float)R_PassView.Center.X + offset,
                                                                  (float)R_PassView.Center.Y); }, null);

            UIView.Animate(0.48, 0, UIViewAnimationOptions.CurveEaseIn,
                           () => { R_CorreoView.Center = new PointF((float)R_CorreoView.Center.X + offset,
                                                                    (float)R_CorreoView.Center.Y); }, null);

            UIView.Animate(0.54, 0, UIViewAnimationOptions.CurveEaseIn,
                           () => { R_NombreView.Center = new PointF((float)R_NombreView.Center.X + offset,
                                                                    (float)R_NombreView.Center.Y); }, null);

            UIView.Animate(0.60, 0, UIViewAnimationOptions.CurveEaseIn,
                           () => { R_ApellidoView.Center = new PointF((float)R_ApellidoView.Center.X + offset,
                                                                      (float)R_ApellidoView.Center.Y); }, null);
            UIView.Animate(0.64, 0, UIViewAnimationOptions.CurveEaseIn,
                           () => { R_ProfView.Center = new PointF((float)R_ProfView.Center.X + offset,
                                                                  (float)R_ProfView.Center.Y); }, null);

            var l_animation = CABasicAnimation.FromKeyPath("position");

            l_animation.TimingFunction      = CAMediaTimingFunction.FromName(CAMediaTimingFunction.EaseIn);
            l_animation.From                = NSValue.FromPointF(new PointF((float)RegisterBackBt.Center.X, (float)RegisterBackBt.Center.Y));
            l_animation.To                  = NSValue.FromPointF(new PointF((float)RegisterBackBt.Center.X + offset, (float)RegisterBackBt.Center.Y));
            l_animation.Duration            = 0.70;
            l_animation.RemovedOnCompletion = false;

            l_animation.AnimationStopped += (s, e) => {
                //RegisterBackBt.Layer.Position = new PointF ((float)RegisterBackBt.Center.X + offset,(float)RegisterBackBt.Center.Y) ;
                //input botton buttons
                if (photo_on)
                {
                    UIView.Animate(0.25, 0, UIViewAnimationOptions.CurveEaseIn,
                                   () => { RegisterPhoto.Center = new PointF((float)RegisterPhoto.Center.X,
                                                                             (float)RegisterPhoto.Center.Y + 150); }, null);
                }
            };
            RegisterBackBt.Layer.AddAnimation(l_animation, "position");
            RegisterBackBt.Layer.Position = new PointF((float)RegisterBackBt.Center.X + offset, (float)RegisterBackBt.Center.Y);
        }
예제 #6
0
        void CreateExplicitAnimation()
        {
            PointF fromPt = _sublayer.Position;

            _sublayer.Position = new PointF(200, 300);
            CABasicAnimation anim = CABasicAnimation.FromKeyPath("position");

            anim.TimingFunction = CAMediaTimingFunction.FromName("easeOut");
            anim.From           = NSValue.FromPointF(fromPt);
            anim.To             = NSValue.FromPointF(new PointF(200, 300));
            anim.Duration       = 1;
            _sublayer.AddAnimation(anim, "position");
        }
예제 #7
0
        CABasicAnimation animateFromTo(UIView v, float dur, string path, float fromx, float fromy, float tox, float toy)
        {
            var l_animation = CABasicAnimation.FromKeyPath(path);             //position

            l_animation.TimingFunction      = CAMediaTimingFunction.FromName(CAMediaTimingFunction.EaseIn);
            l_animation.From                = NSValue.FromPointF(new PointF(fromx, fromy));
            l_animation.To                  = NSValue.FromPointF(new PointF(tox, toy));
            l_animation.Duration            = 0.6;
            l_animation.RemovedOnCompletion = false;

            //l_animation.AnimationStopped += faction;
            v.Layer.AddAnimation(l_animation, "position");
            v.Layer.Position = new PointF(tox, toy);

            return(l_animation);
        }
예제 #8
0
        //inicio sesion

        private void  loginanimate(float offset, bool logo_on)
        {
            if (!logo_on)
            {
                UIView.Animate(0.2, 0, UIViewAnimationOptions.CurveEaseIn, () =>
                               { LogoView.Alpha = 0; }, null);
            }
            //Animations
            UIView.Animate(0.36, 0, UIViewAnimationOptions.CurveEaseIn,
                           () => { IniciarField.Center = new PointF((float)IniciarField.Center.X + offset,
                                                                    (float)IniciarField.Center.Y); }, null);

            UIView.Animate(0.44, 0, UIViewAnimationOptions.CurveEaseIn,
                           () => { LoginUserView.Center = new PointF((float)LoginUserView.Center.X + offset,
                                                                     (float)LoginUserView.Center.Y); }, null);

            UIView.Animate(0.52, 0, UIViewAnimationOptions.CurveEaseIn,
                           () => { LoginPassView.Center = new PointF((float)LoginPassView.Center.X + offset,
                                                                     (float)LoginPassView.Center.Y); }, null);

            UIView.Animate(0.6, 0, UIViewAnimationOptions.CurveEaseIn,
                           () => { BackLoginBt.Center = new PointF((float)BackLoginBt.Center.X + offset,
                                                                   (float)BackLoginBt.Center.Y); }, null);

            var l_animation = CABasicAnimation.FromKeyPath("position");

            l_animation.TimingFunction      = CAMediaTimingFunction.FromName(CAMediaTimingFunction.EaseIn);
            l_animation.From                = NSValue.FromPointF(new PointF((float)GoToRegisterBt.Center.X, (float)GoToRegisterBt.Center.Y));
            l_animation.To                  = NSValue.FromPointF(new PointF((float)GoToRegisterBt.Center.X + offset, (float)GoToRegisterBt.Center.Y));
            l_animation.Duration            = 0.6;
            l_animation.RemovedOnCompletion = false;

            l_animation.AnimationStopped += (s, e) => {
                //GoToRegisterBt.Layer.Position = new PointF ((float)GoToRegisterBt.Center.X + offset,(float)GoToRegisterBt.Center.Y) ;
                //logo
                if (logo_on)
                {
                    UIView.Animate(0.2, 0, UIViewAnimationOptions.CurveEaseIn, () =>
                                   { LogoView.Alpha = 1; }, null);
                }
            };
            GoToRegisterBt.Layer.AddAnimation(l_animation, "position");
            GoToRegisterBt.Layer.Position = new PointF((float)GoToRegisterBt.Center.X + offset, (float)GoToRegisterBt.Center.Y);
        }
예제 #9
0
        private void logo_animation()
        {
            UIView.Animate(0.6, 0, UIViewAnimationOptions.CurveEaseIn, () => {
                LogoView.Transform = CGAffineTransform.MakeScale(0.53f, 0.53f);
            }, null);

            var t_animation = CABasicAnimation.FromKeyPath("position");

            t_animation.TimingFunction      = CAMediaTimingFunction.FromName(CAMediaTimingFunction.EaseIn);
            t_animation.From                = NSValue.FromPointF(new PointF((float)LogoView.Center.X, (float)LogoView.Center.Y));
            t_animation.To                  = NSValue.FromPointF(new PointF((float)LogoView.Center.X, 160.0f));
            t_animation.Duration            = 0.6;
            t_animation.RemovedOnCompletion = true;
            t_animation.AutoReverses        = false;
            t_animation.AnimationStopped   += (s, e) => {
                //LogoView.Layer.Position = new PointF ((float)LogoView.Center.X,160.0f);
                //input of first view
                socialanimate(-1.0f * DeviceWidth, true, true);
                social_state = 0;
            };
            LogoView.Layer.AddAnimation(t_animation, "position");
            LogoView.Layer.Position = new PointF((float)LogoView.Center.X, 160.0f);
        }
예제 #10
0
파일: Menu.cs 프로젝트: tilemapjp/MonoKit
        private CAAnimationGroup ShrinkAnimationAtPoint(PointF p)
        {
            var positionAnimation = (CAKeyFrameAnimation)CAKeyFrameAnimation.FromKeyPath("position");

            positionAnimation.Values   = new NSObject[] { NSValue.FromPointF(p) };
            positionAnimation.KeyTimes = new NSNumber[] { 0.3f };

            var scaleAnimation = CABasicAnimation.FromKeyPath("transform");

            scaleAnimation.To = NSValue.FromCATransform3D(CATransform3D.MakeScale(0.01f, 0.01f, 1f));

            var opacityAnimation = CABasicAnimation.FromKeyPath("opacity");

            opacityAnimation.To = NSNumber.FromFloat(0);

            var animationGroup = new CAAnimationGroup();

            animationGroup.Animations = new CAAnimation[] { positionAnimation, scaleAnimation, opacityAnimation };
            animationGroup.Duration   = 0.3f;
            animationGroup.FillMode   = CAFillMode.Forwards;

            return(animationGroup);
        }