コード例 #1
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            //HasOptionsMenu = true;
            Xamarin.Essentials.Platform.Init(this, savedInstanceState);
            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.activity_main);
            Button botonAnimado = FindViewById <Button>(Resource.Id.botonanimado);

            botonAnimado.SetWidth(300);
            ObjectAnimator objectAnimator = ObjectAnimator.OfInt(botonAnimado, "width", 400, 250, 400);

            objectAnimator.SetDuration(3000);
            objectAnimator.SetInterpolator(new LinearInterpolator());
            objectAnimator.RepeatCount = 100;
            //objectAnimator.Start();

            ObjectAnimator objectAnimator1 = ObjectAnimator.OfInt(botonAnimado, "height", 220, 70, 220);

            objectAnimator1.SetDuration(3000);
            objectAnimator1.SetInterpolator(new LinearInterpolator());
            objectAnimator1.RepeatCount = 100;

            ObjectAnimator objectAnimator2 = ObjectAnimator.OfFloat(botonAnimado, "rotationY", 0, 360);

            objectAnimator2.SetDuration(10000);
            objectAnimator2.SetInterpolator(new LinearInterpolator());
            objectAnimator2.RepeatCount = 100;

            objectAnimator2.Update += (sender, e) => {
                if ((float)e.Animation.AnimatedValue >= 90 && (float)e.Animation.AnimatedValue <= 270)
                {
                    botonAnimado.Text = "";
                }
                else
                {
                    botonAnimado.Text = "Boton animado";
                }
            };

            AnimatorSet ans = new Android.Animation.AnimatorSet();

            ans.PlayTogether(objectAnimator, objectAnimator1, objectAnimator2);//,);
            ans.Start();
            //Animator animator = AnimatorInflater.LoadAnimator(this, Resource.Animator.property);
            //animator.SetTarget(botonAnimado);
            //animator.Start();
        }
コード例 #2
0
ファイル: PointAnimator.cs プロジェクト: andyci/ShowcaseView
        public static Animator OfPoints(Java.Lang.Object objects, String xMethod, String yMethod, Point[] values)
        {
            var set = new AnimatorSet();
            var xValues = new int[values.Length];
            var yValues = new int[values.Length];

            for (int i = 0; i < values.Length; i++)
            {
                xValues[i] = values[i].X;
                yValues[i] = values[i].Y;
            }

            ObjectAnimator xAnimator = ObjectAnimator.OfInt(objects, xMethod, xValues);
            ObjectAnimator yAnimator = ObjectAnimator.OfInt(objects, yMethod, yValues);

            set.PlayTogether(xAnimator, yAnimator);
            return set;
        }
コード例 #3
0
		void Initialize ()
		{
			ScaleX = ScaleY = 1;
			var baseDuration = 1000;
			animation = new AnimatorSet ();
			var rotation = ObjectAnimator.OfFloat (this, "rotation", 0, 60);
			rotation.SetDuration (baseDuration);
			rotation.RepeatCount = ValueAnimator.Infinite;
			var scale = ObjectAnimator.OfPropertyValuesHolder (
				this,
				PropertyValuesHolder.OfFloat ("scaleX", 1, .9f),
				PropertyValuesHolder.OfFloat ("scaleY", 1, .9f)
			);
			scale.RepeatMode = ValueAnimatorRepeatMode.Reverse;
			scale.SetDuration (baseDuration / 2);
			scale.RepeatCount = ValueAnimator.Infinite;
			animation.PlayTogether (rotation, scale);
			animation.Start ();
		}
コード例 #4
0
		protected override void OnFinishInflate()
		{
			base.OnFinishInflate();
			label = FindViewById<TextView>(Resource.Id.Label);
			circle = FindViewById<CircledImageView>(Resource.Id.Circle);

			expandCircleRadius = circle.CircleRadius;
			shrinkCircleRadius = expandCircleRadius * ShrinkCricleRatio;

			shrinkCircleAnimator = ObjectAnimator.OfFloat(circle, "circleRadius", expandCircleRadius, shrinkCircleRadius);
			shrinkLabelAnimator = ObjectAnimator.OfFloat(label, "alpha", ExpandLabelAlpha, ShrinkLabelAlpha);

			// FIXME Xamarin: new AnimatorSet().SetDuration(long) should return an AnimatorSet
			shrinkAnimator = new AnimatorSet();
			shrinkAnimator.SetDuration(AnimationDurationMs);
			shrinkAnimator.PlayTogether(shrinkCircleAnimator, shrinkLabelAnimator);

			expandCircleAnimator = ObjectAnimator.OfFloat(circle, "circleRadius", shrinkCircleRadius, expandCircleRadius);
			expandLabelAnimator = ObjectAnimator.OfFloat(label, "alpha", ShrinkLabelAlpha, ExpandLabelAlpha);
			expandAnimator = new AnimatorSet();
			expandAnimator.SetDuration(AnimationDurationMs);
			expandAnimator.PlayTogether(expandCircleAnimator, expandLabelAnimator);
		}
コード例 #5
0
    /**
     * Performs the undo animation and restores the original state for given {@link android.view.View}.
     *
     * @param view the parent {@code View} which contains both primary and undo {@code View}s.
     */
    public void undo( View view) {
        int position = AdapterViewUtil.getPositionForView(getListViewWrapper(), view);
        mUndoPositions.Remove(position);

        View primaryView = mCallback.getPrimaryView(view);
        View undoView = mCallback.getUndoView(view);

        primaryView.Visibility=ViewStates.Visible;

        ObjectAnimator undoAlphaAnimator = ObjectAnimator.OfFloat(undoView, ALPHA, 1f, 0f);
        ObjectAnimator primaryAlphaAnimator = ObjectAnimator.OfFloat(primaryView, ALPHA, 0f, 1f);
        ObjectAnimator primaryXAnimator = ObjectAnimator.OfFloat(primaryView, TRANSLATION_X, primaryView.Width, 0f);

        AnimatorSet animatorSet = new AnimatorSet();
        animatorSet.PlayTogether(undoAlphaAnimator, primaryAlphaAnimator, primaryXAnimator);
        animatorSet.AddListener(new UndoAnimatorListener(undoView,this));
        animatorSet.Start();

        mCallback.onUndo(view, position);
    }
コード例 #6
0
        /**
         * Animates given View.
         *
         * @param view the View that should be animated.
         */
        private void animateView(int position, View view, Animator[] animators)
        {
            if (mAnimationStartMillis == -1)
            {
                mAnimationStartMillis = SystemClock.UptimeMillis();
            }           
            //        ViewHelper.setAlpha(view, 0);

            view.Alpha = 0;
            
            AnimatorSet set = new AnimatorSet();
            set.PlayTogether(animators);
            set.StartDelay = calculateAnimationDelay(position);
            set.SetDuration(mAnimationDurationMillis);
            set.Start();

            mAnimators.Put(view.GetHashCode(), set);
        }
コード例 #7
0
ファイル: SplashActivity.cs プロジェクト: EckyZero/Hashtagg
        private async void OnRequestOnboardingPage(OnboardingViewModel oVm)
        {
            _viewModel = oVm;
            AnimationInitUI();
            BindEvents();
            
            var mainAnimatorSet = new AnimatorSet();

            var appNameLayoutFinalTopSpace = TypedValue.ApplyDimension(ComplexUnitType.Dip, 55.0f, Application.Context.Resources.DisplayMetrics);

            var decelerateInterpolator = new DecelerateInterpolator(1.0f);

            var appNameLayoutAnimator = new ValueAnimator();
            appNameLayoutAnimator.SetDuration(750);
            appNameLayoutAnimator.SetInterpolator(decelerateInterpolator);
            appNameLayoutAnimator.SetFloatValues(_appNameLayout.GetY(), appNameLayoutFinalTopSpace);
            appNameLayoutAnimator.Update += (o, args) => { _appNameLayout.SetY((float)args.Animation.AnimatedValue); };

            var whatAccountsAnimator = new ValueAnimator();
            whatAccountsAnimator.SetDuration(750);
            whatAccountsAnimator.SetInterpolator(decelerateInterpolator);
            whatAccountsAnimator.SetFloatValues(0.0f, 1.0f);
            whatAccountsAnimator.Update += (o, args) => { _whatAccounts.Alpha = (float)args.Animation.AnimatedValue; };

            var appNameAnimationSet = new AnimatorSet();
            appNameAnimationSet.PlayTogether(appNameLayoutAnimator, whatAccountsAnimator);


            var socialButtonsAnimatorSet = new AnimatorSet();

            var overshootInterpolator = new OvershootInterpolator(3f);

            var facebookButtonAnimator = new ValueAnimator();
            facebookButtonAnimator.SetDuration(500);
            facebookButtonAnimator.SetInterpolator(overshootInterpolator);
            facebookButtonAnimator.SetFloatValues(_facebookButton.GetY() + _facebookButton.Height, _facebookButton.GetY());
            facebookButtonAnimator.Update += (o, args) =>
                {
                    _facebookButton.SetY((float)args.Animation.AnimatedValue);
                    _facebookButton.Alpha = args.Animation.AnimatedFraction;
                };

            var twitterButtonAnimator = new ValueAnimator();
            twitterButtonAnimator.SetDuration(500);
            twitterButtonAnimator.SetInterpolator(overshootInterpolator);
            twitterButtonAnimator.SetFloatValues(_facebookButton.GetY() + _facebookButton.Height, _facebookButton.GetY());
            twitterButtonAnimator.Update += (o, args) =>
                {
                    _twitterButton.SetY((float)args.Animation.AnimatedValue);
                    _twitterButton.Alpha = args.Animation.AnimatedFraction;
                };
            socialButtonsAnimatorSet.PlaySequentially(facebookButtonAnimator, twitterButtonAnimator);
            socialButtonsAnimatorSet.StartDelay = 500;

            var letsGoButtonAnimator = new ValueAnimator();
            letsGoButtonAnimator.SetDuration(500);
            letsGoButtonAnimator.SetInterpolator(decelerateInterpolator);
            letsGoButtonAnimator.SetFloatValues(0.0f, 1.0f);
            letsGoButtonAnimator.Update += (sender, args) =>
                {
                    _goButton.Alpha = (float)args.Animation.AnimatedValue;
                };

            mainAnimatorSet.PlaySequentially(appNameAnimationSet, socialButtonsAnimatorSet, letsGoButtonAnimator);

            await _viewModel.DidLoad();

            await Task.Delay(2000);

            mainAnimatorSet.Start();
            await _viewModel.DidAppear();
        }
 private void PlayAnimatorsTogether(Animator[] animations)
 {
     var animatorSet = new AnimatorSet();
     animatorSet.PlayTogether(animations);
     animatorSet.Start();
 }
コード例 #9
0
        /**
         * Flings given {@link android.view.View} out of sight.
         *
         * @param view         the parent {@link android.view.View}.
         * @param position     the position of the item in the {@link android.widget.ListAdapter} corresponding to the {@code View}.
         * @param flingToRight {@code true} if the {@code View} should be flinged to the right, {@code false} if it should be flinged to the left.
         */
        private void flingView(View view, int position, bool flingToRight)
        {
            if (mViewWidth < 2)
            {
                mViewWidth = mListViewWrapper.getListView().Width;
            }

            View swipeView = getSwipeView(view);
            ObjectAnimator xAnimator = ObjectAnimator.OfFloat(swipeView, TRANSLATION_X, flingToRight ? mViewWidth : -mViewWidth);
            ObjectAnimator alphaAnimator = ObjectAnimator.OfFloat(swipeView, ALPHA, 0);

            AnimatorSet animatorSet = new AnimatorSet();
            animatorSet.PlayTogether(xAnimator, alphaAnimator);
            animatorSet.SetDuration(mAnimationTime);
            animatorSet.AddListener(new FlingAnimatorListener(view, position,this));
            animatorSet.Start();
        }
コード例 #10
0
 public void SpotAnimateAllPositionsOfANote(Note note)
 {
     List<ObjectAnimator> animationsList = new List<ObjectAnimator>();
     foreach (Position position in note.Positions)
     {
         //Create a new visual representation of that note.
         NoteRepresentation noteRep = new NoteRepresentation(_activity, note);
         //Set name on note.
         noteRep.SetText(note.Name);
         //Create the note's animation, and add that animation to the animations array.
         animationsList.Add(noteRep.CreateNoteAnimation_FadeOnly(position));
     }
     AnimatorSet animatorSet = new AnimatorSet();
     animatorSet.PlayTogether(animationsList.ToArray());
     animatorSet.Start();
 }
            public ColorItem(Context context)
                : base(context)
            {
                View.Inflate (context, Resource.Layout.ColorPickerItem, this);

                label = FindViewById<TextView> (Resource.Id.Label);
                colorView = FindViewById<CircledImageView> (Resource.Id.Color);

                expandCircleRadius = colorView.CircleRadius;
                shrinkCircleRadius = expandCircleRadius * ShrinkCricleRatio;

                shrinkCircleAnimator = ObjectAnimator.OfFloat (colorView, "circleRadius",
                    expandCircleRadius, shrinkCircleRadius);
                shrinkLabelAnimator = ObjectAnimator.OfFloat (label, "alpha",
                    ExpandLabelAlpha, ShrinkLabelAlpha);

                // FIXME Xamarin: new AnimatorSet().SetDuration(long) should return an AnimatorSet
                shrinkAnimator = new AnimatorSet ();
                shrinkAnimator.SetDuration (AnimationDurationMs);
                shrinkAnimator.PlayTogether (shrinkCircleAnimator, shrinkLabelAnimator);

                expandCircleAnimator = ObjectAnimator.OfFloat (colorView, "circleRadius",
                    shrinkCircleRadius, expandCircleRadius);
                expandLabelAnimator = ObjectAnimator.OfFloat (label, "alpha",
                    ShrinkLabelAlpha, ExpandLabelAlpha);
                expandAnimator = new AnimatorSet ();
                expandAnimator.SetDuration (AnimationDurationMs);
                expandAnimator.PlayTogether (expandCircleAnimator, expandLabelAnimator);
            }
コード例 #12
0
ファイル: StartStopFab.cs プロジェクト: VDBBjorn/toggl_mobile
        private void Switch (Drawable src, ColorStateList tint, bool withAnimation = false)
        {

            if (!withAnimation) {
                SetImageDrawable (src);
                BackgroundTintList = tint;
                return;
            }

            const int ScaleDuration = 200;
            const int InitialDelay = 100;

            if (switchAnimation != null) {
                switchAnimation.Cancel ();
                switchAnimation = null;
            }

            var currentSrc = Drawable;

            // Scaling down animation
            var circleAnimOutX = ObjectAnimator.OfFloat (this, "scaleX", 1, 0.1f);
            var circleAnimOutY = ObjectAnimator.OfFloat (this, "scaleY", 1, 0.1f);
            circleAnimOutX.SetDuration (ScaleDuration);
            circleAnimOutY.SetDuration (ScaleDuration);

            // Alpha out of the icon
            //var iconAnimOut = ObjectAnimator.OfInt (currentSrc, "alpha", 255, 0);
            //iconAnimOut.SetDuration (AlphaDuration);

            var outSet = new AnimatorSet ();
            outSet.PlayTogether (circleAnimOutX, circleAnimOutY);
            outSet.SetInterpolator (AnimationUtils.LoadInterpolator (Context,
                                    Android.Resource.Animation.AccelerateInterpolator));
            outSet.StartDelay = InitialDelay;
            outSet.AnimationEnd += (sender, e) => {
                BackgroundTintList = tint;
                SetImageDrawable (src);
                JumpDrawablesToCurrentState ();
                ((Animator)sender).RemoveAllListeners ();
            };

            // Scaling up animation
            var circleAnimInX = ObjectAnimator.OfFloat (this, "scaleX", 0.1f, 1);
            var circleAnimInY = ObjectAnimator.OfFloat (this, "scaleY", 0.1f, 1);
            circleAnimInX.SetDuration (ScaleDuration);
            circleAnimInY.SetDuration (ScaleDuration);

            var inSet = new AnimatorSet ();
            inSet.PlayTogether (circleAnimInX, circleAnimInY);
            inSet.SetInterpolator (AnimationUtils.LoadInterpolator (Context,
                                   Android.Resource.Animation.DecelerateInterpolator));

            switchAnimation = new AnimatorSet ();
            switchAnimation.PlaySequentially (outSet, inSet);
            switchAnimation.Start ();
        }
コード例 #13
0
ファイル: DiscMenu.cs プロジェクト: gruan01/Xamarin-Example
        private AnimatorSet GetAnimatorSet(int idx, bool expand)
        {
            AnimatorSet set = null;
            var avgRadians = this.ToRadians(360 / (this.ChildCount - 1));
            var w = Math.Min(this.MeasuredWidth, this.MeasuredHeight) / 2;

            var cx = this.MeasuredWidth / 2;
            var cy = this.MeasuredHeight / 2;

            var c = this.GetChildAt(idx);
            var radians = idx * avgRadians;
            var hw = c.MeasuredWidth / 2;
            var hy = c.MeasuredHeight / 2;

            var tmp = (w - hw);
            var l = w + (int)Math.Round(tmp * Math.Cos(radians) - hw);
            var t = w + (int)Math.Round(tmp * Math.Sin(radians) - hw);

            var duration = new Random(1000).Next(200, 1000);

            set = new AnimatorSet();
            set.SetInterpolator(new Android.Views.Animations.BounceInterpolator());
            set.SetTarget(c);
            set.SetDuration(200 * idx + duration);
            //set.SetDuration(200);

            float[] xs = new float[] { cx - hw, l };
            float[] ys = new float[] { cy - hy, t };
            float[] ss = new float[] { 0.1f, 1 };
            if (!expand) {
                Array.Reverse(xs);
                Array.Reverse(ys);
                Array.Reverse(ss);
            }

            var aniX = ObjectAnimator.OfFloat(c, "X", xs);
            var aniY = ObjectAnimator.OfFloat(c, "Y", ys);
            var aniSX = ObjectAnimator.OfFloat(c, "ScaleX", ss);
            var aniSY = ObjectAnimator.OfFloat(c, "ScaleY", ss);

            aniX.SetAutoCancel(true);
            aniY.SetAutoCancel(true);
            aniSX.SetAutoCancel(true);
            aniSY.SetAutoCancel(true);

            set.PlayTogether(aniX, aniY, aniSX, aniSY);
            set.AnimationEnd += Set_AnimationEnd;

            return set;
        }
コード例 #14
0
        private Animator.IAnimatorListener animationListener;//=new AnimationListenerClass(this);
        //private Animator.AnimatorListener animationListener = new Animator.AnimatorListener() {
        //    @Override
        //    public void onAnimationStart(Animator animation) {
        //        if (isOpened()){
        //            showScrollViewMenu(scrollViewMenu);
        //            if (menuListener != null)
        //                menuListener.openMenu();
        //        }
        //    }

        //    @Override
        //    public void onAnimationEnd(Animator animation) {
        //        // reset the view;
        //        if(isOpened()){
        //            viewActivity.setTouchDisable(true);
        //            viewActivity.setOnClickListener(viewActivityOnClickListener);
        //        }else{
        //            viewActivity.setTouchDisable(false);
        //            viewActivity.setOnClickListener(null);
        //            hideScrollViewMenu(scrollViewLeftMenu);
        //            hideScrollViewMenu(scrollViewRightMenu);
        //            if (menuListener != null)
        //                menuListener.closeMenu();
        //        }
        //    }

        //    @Override
        //    public void onAnimationCancel(Animator animation) {

        //    }

        //    @Override
        //    public void onAnimationRepeat(Animator animation) {

        //    }
        //};

        /**
         * A helper method to build scale down animation;
         *
         * @param target
         * @param targetScaleX
         * @param targetScaleY
         * @return
         */
        private AnimatorSet buildScaleDownAnimation(View target, float targetScaleX, float targetScaleY)
        {

            AnimatorSet scaleDown = new AnimatorSet();
            scaleDown.PlayTogether(
                    ObjectAnimator.OfFloat(target, "scaleX", targetScaleX),
                    ObjectAnimator.OfFloat(target, "scaleY", targetScaleY)
            );

            if (mUse3D)
            {
                int angle = scaleDirection == DIRECTION_LEFT ? -ROTATE_Y_ANGLE : ROTATE_Y_ANGLE;
                scaleDown.PlayTogether(ObjectAnimator.OfFloat(target, "rotationY", angle));
            }

            scaleDown.SetInterpolator(AnimationUtils.LoadInterpolator(activity,
                    Android.Resource.Animation.DecelerateInterpolator));
            scaleDown.SetDuration(250);
            return scaleDown;
        }
コード例 #15
0
        public void UpThrow()
        {
            ObjectAnimator objectAnimator = ObjectAnimator.OfFloat(shapeLoadingView, "translationY", mDistance, 0);
            ObjectAnimator scaleIndication = ObjectAnimator.OfFloat(indicationIm, "scaleX", 0.2f, 1);

            ObjectAnimator objectAnimator1 = null;
            switch(shapeLoadingView.GetShape())
            {
                case ShapeLoadingView.Shape.RECT:
                    {
                        objectAnimator1 = ObjectAnimator.OfFloat(shapeLoadingView, "rotation", 0, -120);
                    }
                    break;
                case ShapeLoadingView.Shape.CIRCLE:
                    {
                        objectAnimator1 = ObjectAnimator.OfFloat(shapeLoadingView, "rotation", 0, 180);
                    }
                    break;
                case ShapeLoadingView.Shape.TRIANGLE:
                    {
                        objectAnimator1 = ObjectAnimator.OfFloat(shapeLoadingView, "rotation", 0, 180);
                    }
                    break;
            }
            objectAnimator.SetDuration(ANIMATION_DURATION);
            objectAnimator1.SetDuration(ANIMATION_DURATION);
            objectAnimator.SetInterpolator(new DecelerateInterpolator());
            objectAnimator1.SetInterpolator(new DecelerateInterpolator());
            AnimatorSet animatorSet = new AnimatorSet();
            animatorSet.SetDuration(ANIMATION_DURATION);
            animatorSet.PlayTogether(objectAnimator, objectAnimator1, scaleIndication);
            animatorSet.AnimationEnd += (e, s) =>
            {
                FreeFall();
            };
            animatorSet.Start();
        }
コード例 #16
0
        public void FreeFall()
        {
            ObjectAnimator objectAnimator = ObjectAnimator.OfFloat(shapeLoadingView, "translationY", 0, mDistance);
            ObjectAnimator scaleIndication = ObjectAnimator.OfFloat(indicationIm, "scaleX", 1, 0.2f);

            objectAnimator.SetDuration(ANIMATION_DURATION);
            objectAnimator.SetInterpolator(new AccelerateInterpolator());
            AnimatorSet animatorSet = new AnimatorSet();
            animatorSet.SetDuration(ANIMATION_DURATION);
            animatorSet.PlayTogether(objectAnimator, scaleIndication);
            animatorSet.AnimationEnd += (e, s) =>
            {
                shapeLoadingView.ChangeShape();
                UpThrow();
            };
            animatorSet.Start();
        }
コード例 #17
0
        /**
         * Animates the pending {@link android.view.View} back to its original position.
         */
        private void restoreCurrentViewTranslation()
        {
            if (mCurrentView == null)
            {
                return;
            }

            ObjectAnimator xAnimator = ObjectAnimator.OfFloat(mSwipingView, TRANSLATION_X, 0);
            ObjectAnimator alphaAnimator = ObjectAnimator.OfFloat(mSwipingView, ALPHA, 1);

            AnimatorSet animatorSet = new AnimatorSet();
            animatorSet.PlayTogether(xAnimator, alphaAnimator);
            animatorSet.SetDuration(mAnimationTime);
            animatorSet.AddListener(new RestoreAnimatorListener(mCurrentView, mCurrentPosition,this));
            animatorSet.Start();
        }
コード例 #18
0
ファイル: UIView.cs プロジェクト: Gerhic/Need2Park
		public void AnimateXAndWidth (Frame newFrame, Action completed)
		{
			ObjectAnimator xAnim = ObjectAnimator.OfFloat (this, LEFT_MARGIN, (float)Frame.X, (float)newFrame.X);
			ObjectAnimator wAnim = ObjectAnimator.OfInt (this, NEW_WIDTH, Frame.W, newFrame.W);

			AnimatorSet set = new AnimatorSet ();
			set.SetDuration (FRAMEANIMATIONTIME);
			set.PlayTogether (new ObjectAnimator[] { xAnim, wAnim });

			set.Start ();

			set.AnimationEnd += delegate {
				completed ();
			};
		}
コード例 #19
0
        private AnimatorSet buildMenuAnimation(View target, float alpha)
        {

            AnimatorSet alphaAnimation = new AnimatorSet();
            alphaAnimation.PlayTogether(
                    ObjectAnimator.OfFloat(target, "alpha", alpha)
            );

            alphaAnimation.SetDuration(250);
            return alphaAnimation;
        }
コード例 #20
0
ファイル: MainActivity.cs プロジェクト: takigava/Glass
		public void shift(View view) {
			if (!mShifted) {
				foreach (ImageView imageView in mImageViews) {
					ObjectAnimator tx = ObjectAnimator.OfFloat(imageView, View.X, (mRandom.NextFloat() - 0.5f) * 500);
					tx.AddUpdateListener(new AnimListener(mBlurringView));
					ObjectAnimator ty = ObjectAnimator.OfFloat(imageView, View.Y, (mRandom.NextFloat() - 0.5f) * 500);
					ty.AddUpdateListener(new AnimListener(mBlurringView));
					AnimatorSet set = new AnimatorSet();
					set.PlayTogether(tx, ty);
					set.SetDuration(3000);
					set.SetInterpolator(new OvershootInterpolator());
					set.AddListener(new AnimationEndListener(imageView));
					set.Start();
				};
				mShifted = true;
			} else {
				foreach (ImageView imageView in mImageViews) {
					ObjectAnimator tx = ObjectAnimator.OfFloat(imageView, View.X, 0);
					tx.AddUpdateListener(new AnimListener(mBlurringView));
					ObjectAnimator ty = ObjectAnimator.OfFloat(imageView, View.Y, 0);
					ty.AddUpdateListener(new AnimListener(mBlurringView));
					AnimatorSet set = new AnimatorSet();
					set.PlayTogether(tx, ty);
					set.SetDuration(3000);
					set.SetInterpolator(new OvershootInterpolator());
					set.AddListener(new AnimationEndListener(imageView));
					set.Start();
				};
				mShifted = false;
			}
		}
コード例 #21
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate (bundle);

            // Set our view from the "main" layout resource
            SetContentView (Resource.Layout.Main);

            mBlurringView = FindViewById<BlurringView> (Resource.Id.blurring_view);
            View blurredView = FindViewById(Resource.Id.blurred_view);

            mBlurringView.SetBlurredView (blurredView);

            mImageViews [0] = FindViewById<ImageView> (Resource.Id.image0);
            mImageViews [1] = FindViewById<ImageView> (Resource.Id.image1);
            mImageViews [2] = FindViewById<ImageView> (Resource.Id.image2);
            mImageViews [3] = FindViewById<ImageView> (Resource.Id.image3);
            mImageViews [4] = FindViewById<ImageView> (Resource.Id.image4);
            mImageViews [5] = FindViewById<ImageView> (Resource.Id.image5);
            mImageViews [6] = FindViewById<ImageView> (Resource.Id.image6);
            mImageViews [7] = FindViewById<ImageView> (Resource.Id.image7);
            mImageViews [8] = FindViewById<ImageView> (Resource.Id.image8);

            // Get our button from the layout resource,
            // and attach an event to it

            Button shuffleButton = FindViewById<Button> (Resource.Id.shuffle_button);
            Button shiftButton = FindViewById<Button> (Resource.Id.shift_button);

            shiftButton.Click += (sender, e) => {
                if (!mShifted) {
                    foreach (ImageView imageView in mImageViews) {
                        ObjectAnimator tx = ObjectAnimator.OfFloat (imageView, "translationX", (float)((mRandom.NextDouble () - 0.5f) * 500));
                        tx.Update += (s, ea) => mBlurringView.Invalidate();
                        ObjectAnimator ty = ObjectAnimator.OfFloat (imageView, "translationY", (float)((mRandom.NextDouble () - 0.5f) * 500));
                        tx.Update += (s, ea) => mBlurringView.Invalidate();
                        AnimatorSet set = new AnimatorSet();
                        set.PlayTogether(tx, ty);
                        set.SetDuration(3000);
                        set.SetInterpolator(new OvershootInterpolator());
                        set.AnimationStart += (s, ea) => imageView.SetLayerType(LayerType.Hardware, null);
                        set.AnimationEnd += (s, ea) => imageView.SetLayerType(LayerType.None, null);
                        set.AnimationCancel += (s, ea) => imageView.SetLayerType (LayerType.None, null);
                        set.Start();
                    }
                    mShifted = true;
                } else {
                    foreach (ImageView imageView in mImageViews) {
                        ObjectAnimator tx = ObjectAnimator.OfFloat (imageView, "translationX", 0);
                        tx.Update += (s, ea) => mBlurringView.Invalidate();
                        ObjectAnimator ty = ObjectAnimator.OfFloat (imageView, "translationY", 0);
                        tx.Update += (s, ea) => mBlurringView.Invalidate();
                        AnimatorSet set = new AnimatorSet();
                        set.PlayTogether(tx, ty);
                        set.SetDuration(3000);
                        set.SetInterpolator(new OvershootInterpolator());
                        //					set.AddListener(new AnimationEndListener(imageView));
                        set.AnimationStart += (s, ea) => imageView.SetLayerType(LayerType.Hardware, null);
                        set.AnimationEnd += (s, ea) => imageView.SetLayerType(LayerType.None, null);
                        set.AnimationCancel += (s, ea) => imageView.SetLayerType (LayerType.None, null);
                        set.Start();
                    }
                    mShifted = false;
                }
            };

            shuffleButton.Click += (sender, e) => {
                int newStartIndex;

                do {
                    newStartIndex = mImageIds[mRandom.Next(mImageIds.Length)];
                } while (newStartIndex == mStartIndex);
                mStartIndex = newStartIndex;

                for (int i = 0; i < mImageViews.Length; i++) {
                    int drawableId = mImageIds[(mStartIndex +i) % mImageIds.Length];
                    mImageViews[i].SetImageDrawable(ApplicationContext.Resources.GetDrawable(drawableId));
                }

                mBlurringView.Invalidate();
            };
        }
コード例 #22
0
        /**
         * A helper method to build scale up animation;
         *
         * @param target
         * @param targetScaleX
         * @param targetScaleY
         * @return
         */
        private AnimatorSet buildScaleUpAnimation(View target, float targetScaleX, float targetScaleY)
        {

            AnimatorSet scaleUp = new AnimatorSet();
            scaleUp.PlayTogether(
                    ObjectAnimator.OfFloat(target, "scaleX", targetScaleX),
                    ObjectAnimator.OfFloat(target, "scaleY", targetScaleY)
            );

            if (mUse3D)
            {
                scaleUp.PlayTogether(ObjectAnimator.OfFloat(target, "rotationY", 0));
            }

            scaleUp.SetDuration(250);
            return scaleUp;
        }
コード例 #23
0
ファイル: LoadingFragment.cs プロジェクト: phaufe/Similardio
        public override void OnViewCreated(View view, Bundle savedInstanceState)
        {
            base.OnViewCreated (view, savedInstanceState);

            var interpolator = new Android.Views.Animations.AccelerateDecelerateInterpolator ();

            var xDelta = 12.ToPixels ();
            var yDelta = 8.ToPixels ();

            var transX = ObjectAnimator.OfFloat (logoImage, "translationX", -xDelta, xDelta);
            var transY = ObjectAnimator.OfFloat (logoImage, "translationY", -yDelta, 0, -yDelta);
            var rot = ObjectAnimator.OfFloat (logoImage, "rotation", -1.2f, 1.2f);

            // Ad infinitam
            transX.RepeatCount = transY.RepeatCount = rot.RepeatCount = -1;
            transX.RepeatMode = transY.RepeatMode = rot.RepeatMode = ValueAnimatorRepeatMode.Reverse;

            logoAnimation = new AnimatorSet ();
            logoAnimation.PlayTogether (transX, transY, rot);
            logoAnimation.SetDuration (800);
            logoAnimation.SetInterpolator (interpolator);
            logoAnimation.Start ();
        }