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(); }
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 (); }
/** * 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); }
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 (); }; }
public void Reset (SummaryReportView data) { // Cancel old animation if (currentAnimation != null) { currentAnimation.Cancel (); currentAnimation = null; } // Not zooming isZooming = false; var totalRows = 0; var hasTime = false; if (data == null) { backgroundView.XAxisLabels = null; ResetRows (totalRows); } else { var showEveryYLabel = 1; var showValueLabels = true; backgroundView.XAxisLabels = data.ChartTimeLabels.ToArray (); totalRows = Math.Min (data.Activity.Count, data.ChartRowLabels.Count); ResetRows (totalRows); if (totalRows > 25) { showEveryYLabel = 3; showValueLabels = false; } for (var i = 0; i < totalRows; i++) { var activity = data.Activity [i]; var yLabel = data.ChartRowLabels [i]; if (activity.TotalTime > 0) { hasTime = true; } var barWidth = (float)activity.TotalTime / (float) (data.MaxTotal * 3600); var showYAxis = i % showEveryYLabel == 0; // Bind the data to row var row = rows [i]; row.RelativeWidth = barWidth; row.BarView.BillableTime = activity.BillableTime; row.BarView.TotalTime = activity.TotalTime; row.ValueTextView.Text = activity.FormattedTotalTime; row.ValueTextView.Visibility = showValueLabels ? ViewStates.Visible : ViewStates.Gone; row.YAxisTextView.Text = yLabel; row.YAxisTextView.Visibility = showYAxis ? ViewStates.Visible : ViewStates.Gone; } } // Detect state var isLoading = totalRows == 0 || (data != null && data.IsLoading); var isEmpty = !isLoading && !hasTime; if (isLoading) { // Loading state loadingOverlayView.Visibility = ViewStates.Visible; loadingOverlayView.Alpha = 1f; emptyOverlayView.Visibility = ViewStates.Gone; } else if (isEmpty) { // Error state loadingOverlayView.Visibility = ViewStates.Visible; loadingOverlayView.Alpha = 1f; emptyOverlayView.Visibility = ViewStates.Visible; emptyOverlayView.Alpha = 0f; // Animate overlay in var scene = new AnimatorSet (); var fadeIn = ObjectAnimator.OfFloat (emptyOverlayView, "alpha", 0f, 1f).SetDuration (500); var fadeOut = ObjectAnimator.OfFloat (loadingOverlayView, "alpha", 1f, 0f).SetDuration (500); fadeOut.AnimationEnd += delegate { loadingOverlayView.Visibility = ViewStates.Gone; }; scene.Play (fadeOut); scene.Play (fadeIn).After (3 * fadeOut.Duration / 4); currentAnimation = scene; scene.Start(); } else { // Normal state var scene = new AnimatorSet (); // Fade loading message out var fadeOverlayOut = ObjectAnimator.OfFloat (loadingOverlayView, "alpha", 1f, 0f).SetDuration (500); fadeOverlayOut.AnimationEnd += delegate { loadingOverlayView.Visibility = ViewStates.Gone; }; scene.Play (fadeOverlayOut); foreach (var row in rows) { var axisFadeIn = ObjectAnimator.OfFloat (row.YAxisTextView, "alpha", 0f, 1f).SetDuration (500); var barScaleUp = ObjectAnimator.OfFloat (row.BarView, "scaleX", 0f, 1f).SetDuration (750); var valueFadeIn = ObjectAnimator.OfFloat (row.ValueTextView, "alpha", 0f, 1f).SetDuration (400); scene.Play (axisFadeIn); scene.Play (barScaleUp).After (axisFadeIn.Duration / 2); scene.Play (valueFadeIn).After (barScaleUp); } currentAnimation = scene; scene.Start(); } RequestLayout (); }
public void SetCount(int count, bool animate) { if (!animate) { Count = count; return; } ValueAnimator outAnimator = null; if (this.count != 0) { outAnimator = ValueAnimator.OfInt (255, 0); outAnimator.SetDuration (250); outAnimator.Update += (sender, e) => { currentBubbleTransparency = (int)e.Animation.AnimatedValue; Invalidate (); }; outAnimator.AnimationEnd += (sender, e) => { this.count = count; outAnimator.RemoveAllListeners (); }; } else { this.count = count; } var inAnimator = ValueAnimator.OfInt (0, 255); inAnimator.SetDuration (700); inAnimator.Update += (sender, e) => { currentBubbleTransparency = (int)e.Animation.AnimatedValue; Invalidate (); }; inAnimator.AnimationEnd += (sender, e) => inAnimator.RemoveAllListeners (); if (outAnimator != null) { var set = new AnimatorSet (); set.PlaySequentially (outAnimator, inAnimator); set.Start (); } else { inAnimator.Start (); } }
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(); }; }
private void PlayAnimatorsTogether(Animator[] animations) { var animatorSet = new AnimatorSet(); animatorSet.PlayTogether(animations); animatorSet.Start(); }
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 (); }
public void Reset (SummaryReportView data) { this.data = data; // Cancel old animation if (currentRevealAnimation != null) { currentRevealAnimation.Cancel (); currentRevealAnimation = null; } if (currentSelectAnimation != null) { currentSelectAnimation.Cancel (); currentSelectAnimation = null; } var totalSlices = data == null || data.CollapsedProjects == null ? 0 : data.CollapsedProjects.Count; SetActiveSlice (-1, updateStats: false); backgroundView.Visibility = ViewStates.Visible; backgroundView.Radius = defaultRadius; ResetSlices (totalSlices); if (totalSlices > 0) { var totalTime = data.CollapsedProjects.Sum (x => x.TotalTime); var startAngle = 0f; for (var i = 0; i < totalSlices; i++) { var slice = slices [i]; var project = data.CollapsedProjects [i]; var percentOfAll = (float)project.TotalTime / totalTime; slice.Visibility = ViewStates.Gone; slice.Radius = defaultRadius; if (project.Color == ProjectModel.GroupedProjectColorIndex) { slice.Color = Color.ParseColor (ProjectModel.GroupedProjectColor); } else { slice.Color = Color.ParseColor (ProjectModel.HexColors [project.Color % ProjectModel.HexColors.Length]); } slice.StartAngle = startAngle; startAngle += percentOfAll * 360; } } // Detect state var isLoading = data == null || data.IsLoading; var isEmpty = !isLoading && totalSlices == 0; if (isLoading) { // Loading state loadingOverlayView.Visibility = ViewStates.Visible; loadingOverlayView.Alpha = 1f; emptyOverlayView.Visibility = ViewStates.Gone; statsOverlayView.Visibility = ViewStates.Gone; } else if (isEmpty) { // Error state loadingOverlayView.Visibility = ViewStates.Visible; loadingOverlayView.Alpha = 1f; emptyOverlayView.Visibility = ViewStates.Visible; emptyOverlayView.Alpha = 0f; statsOverlayView.Visibility = ViewStates.Gone; // Animate overlay in var scene = new AnimatorSet (); var fadeIn = ObjectAnimator.OfFloat (emptyOverlayView, "alpha", 0f, 1f).SetDuration (500); var fadeOut = ObjectAnimator.OfFloat (loadingOverlayView, "alpha", 1f, 0f).SetDuration (500); fadeOut.AnimationEnd += delegate { loadingOverlayView.Visibility = ViewStates.Gone; }; scene.Play (fadeOut); scene.Play (fadeIn).After (3 * fadeOut.Duration / 4); currentRevealAnimation = scene; scene.Start(); } else { // Normal state var scene = new AnimatorSet (); // Fade loading message out statsOverlayView.Visibility = ViewStates.Visible; statsOverlayView.Alpha = 0f; var fadeOverlayOut = ObjectAnimator.OfFloat (loadingOverlayView, "alpha", 1f, 0f).SetDuration (500); fadeOverlayOut.AnimationEnd += delegate { loadingOverlayView.Visibility = ViewStates.Gone; }; scene.Play (fadeOverlayOut); var fadeOverlayIn = ObjectAnimator.OfFloat (statsOverlayView, "alpha", 0f, 1f).SetDuration (500); scene.Play (fadeOverlayIn).After (3 * fadeOverlayOut.Duration / 4); var donutReveal = ValueAnimator.OfFloat (0, 360); donutReveal.SetDuration (750); donutReveal.Update += (sender, e) => ShowSlices ((float)e.Animation.AnimatedValue); scene.Play (donutReveal).After (fadeOverlayOut.Duration / 2); currentRevealAnimation = scene; scene.Start(); } UpdateStats (); RequestLayout (); }
private void PlayAnimation() { var animator = ObjectAnimator.OfFloat (this, "animationSeek", 0.0f, 1.0f); var animatorSet = new AnimatorSet (); animatorSet.SetDuration (AnimationDuration); animatorSet.SetInterpolator (new DecelerateInterpolator ()); animatorSet.SetTarget (this); animatorSet.Play(animator); animatorSet.Start(); }
void DoAnimation2 (bool really, Action changePic) { if (!really) changePic (); else { var fdIn = ObjectAnimator.OfFloat (this, "alpha", new float[] { 0, 1 }); var fdOut = ObjectAnimator.OfFloat (this, "alpha", new float[] { 1, 0 }); fdOut.AnimationEnd += (sender, e) => changePic (); var animator = new AnimatorSet (); animator.SetInterpolator (new LinearInterpolator ()); //animator.PlaySequentially (fdOut, fdIn); animator.Play (fdOut); animator.Play (fdIn).After (fdOut).After (2000); animator.Start (); } }
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(); }
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(); }
/** * 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(); }
/** * 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(); }
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 (); }
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; } }
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(); }
/// <summary> /// Playes a series of animations. /// </summary> /// <param name="animations">The series of animations to be played.</param> protected void PlayAnimations(ObjectAnimator[] animations) { AnimatorSet animatorSet = new AnimatorSet(); animatorSet.PlaySequentially(animations); animatorSet.Start(); //animatorSet.AnimationEnd //animatorSet.Pause }
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 SetActiveSlice (int value, bool animate = false, bool updateStats = true) { if (slices.Count == 1 || value >= slices.Count) { value = -1; } if (value == activeSlice) { return; } activeSlice = value; Clickable = activeSlice >= 0; if (updateStats) { UpdateStats (); } if (animate) { // Finish currently running animations if (currentSelectAnimation != null) { currentSelectAnimation.Cancel (); } // Animate changes var scene = new AnimatorSet (); for (var i = 0; i < slices.Count; i++) { var slice = slices [i]; if (i == activeSlice) { // Slice activating animations if (slice.Alpha < 1) { var fadeIn = ObjectAnimator.OfFloat (slice, "alpha", slice.Alpha, 1).SetDuration (500); scene.Play (fadeIn); } if (slice.ScaleX != ActiveSliceScale) { var scaleXUp = ObjectAnimator.OfFloat (slice, "scaleX", slice.ScaleX, ActiveSliceScale).SetDuration (500); scene.Play (scaleXUp); } if (slice.ScaleY != ActiveSliceScale) { var scaleYUp = ObjectAnimator.OfFloat (slice, "scaleY", slice.ScaleY, ActiveSliceScale).SetDuration (500); scene.Play (scaleYUp); } } else if (activeSlice >= 0) { // Slice deactivating animations if (slice.Alpha > 0.5f) { var fadeOut = ObjectAnimator.OfFloat (slice, "alpha", slice.Alpha, 0.5f).SetDuration (300); scene.Play (fadeOut); } if (slice.ScaleX != NonActiveSliceScale) { var scaleXDown = ObjectAnimator.OfFloat (slice, "scaleX", slice.ScaleX, NonActiveSliceScale).SetDuration (300); scene.Play (scaleXDown); } if (slice.ScaleY != NonActiveSliceScale) { var scaleYDown = ObjectAnimator.OfFloat (slice, "scaleY", slice.ScaleY, NonActiveSliceScale).SetDuration (300); scene.Play (scaleYDown); } } else { // No slice selected animations if (slice.Alpha < 1) { var fadeIn = ObjectAnimator.OfFloat (slice, "alpha", slice.Alpha, 1).SetDuration (300); scene.Play (fadeIn); } if (slice.ScaleX != 1) { var scaleXDown = ObjectAnimator.OfFloat (slice, "scaleX", slice.ScaleX, 1f).SetDuration (300); scene.Play (scaleXDown); } if (slice.ScaleY != 1) { var scaleYDown = ObjectAnimator.OfFloat (slice, "scaleY", slice.ScaleY, 1f).SetDuration (300); scene.Play (scaleYDown); } } } currentSelectAnimation = scene; scene.Start (); } // Notify listeners if (ActiveSliceChanged != null) { ActiveSliceChanged (this, EventArgs.Empty); } }
/** * 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); }