protected override void OnElementChanged(ElementChangedEventArgs <Xamarin.Forms.View> e) { base.OnElementChanged(e); if (((XNFlipView)e.NewElement) != null) { // Calculating Camera Distance to be used at Animation Runtime // https://forums.xamarin.com/discussion/49978/changing-default-perspective-after-rotation var distance = 8000; _cameraDistance = Context.Resources.DisplayMetrics.Density * distance; _animateYAxis0To90.SetDuration(((XNFlipView)Element).AnimationTime); _animateYAxis90To180.SetDuration(((XNFlipView)Element).AnimationTime); } }
private void animateIn(View view) { ObjectAnimator translationX = ObjectAnimator.OfFloat(view, "translationX", 0, -spacing); translationX.SetDuration(200); translationX.Start(); }
protected override void OnElementChanged(ElementChangedEventArgs <Button> e) { base.OnElementChanged(e); if (e.NewElement != null) { _textColorChangingAnimation = ObjectAnimator.OfInt(this.Control, "textColor", Color.Red.ToAndroid(), Color.Blue.ToAndroid()); _textColorChangingAnimation.SetDuration(1000); _textColorChangingAnimation.SetEvaluator(new ArgbEvaluator()); _textColorChangingAnimation.RepeatCount = ValueAnimator.Infinite; _textColorChangingAnimation.RepeatMode = ValueAnimatorRepeatMode.Reverse; ((AnimatingTextColorButton)e.NewElement).PropertyChanged += AnimatingTextColorButton_PropertyChanged; if (((AnimatingTextColorButton)e.NewElement).IsTextColorAnimating) { StartTextColorAnimation(); } } if (e.OldElement != null) { ((AnimatingTextColorButton)e.OldElement).PropertyChanged -= AnimatingTextColorButton_PropertyChanged; } }
private Command AndroidNativeFlipBackToFront(FilppableContentViewXF newElementInstance) { return(new Command(() => { SetCameraDistance(_cameraDistance); ObjectAnimator animateYAxis180To270 = ObjectAnimator.OfFloat(this, "RotationY", 180f, 270f); animateYAxis180To270.SetDuration(300); animateYAxis180To270.Start(); animateYAxis180To270.Update += (sender, args) => { // On every animation Frame we have to update the Camera Distance since Xamarin overrides it somewhere SetCameraDistance(_cameraDistance); }; animateYAxis180To270.AnimationEnd += (sender, args) => { newElementInstance. SwitchViewsFlipFromBackToFront(); ObjectAnimator animateYAxis270To360 = ObjectAnimator.OfFloat(this, "RotationY", 270f, 360f); animateYAxis270To360.SetDuration(300); animateYAxis270To360.Start(); animateYAxis270To360.Update += (sender1, args1) => { // On every animation Frame we have to update the Camera Distance since Xamarin overrides it somewhere SetCameraDistance(_cameraDistance); }; }; })); }
private void TapAnimation(long duration, byte startAlpha, byte endAlpha) { if (IsDisposed) { return; } overlayAnimation.BringToFront(); var start = tapColor; var end = tapColor; start.A = startAlpha; end.A = endAlpha; ClearAnimation(); animator = ObjectAnimator.OfObject(overlayAnimation, "BackgroundColor", new ArgbEvaluator(), start.ToArgb(), end.ToArgb()); animator.SetDuration(duration); animator.RepeatCount = 0; animator.RepeatMode = ValueAnimatorRepeatMode.Restart; animator.Start(); animator.AnimationEnd += OnAnimationEnd; }
private void SmoothScrollBrowser(bool down) { var delay = (DateTime.Now - scrollLastTime).TotalMilliseconds; if (scrollLastDirection.HasValue && scrollLastDirection == down && SCROLL_ACCEL_DELAY_MS > delay) { scrollAccel += SCROLL_ACCEL_INCREMENT; } else { scrollAccel = 0; } scrollLastTime = DateTime.Now; scrollLastDirection = down; ObjectAnimator anim = ObjectAnimator.OfInt(_browserView, "scrollY", _browserView.ScrollY, _browserView.ScrollY + (down ? 300 + scrollAccel : -300 - scrollAccel)); if (_currentScroll != null) { _currentScroll.End(); anim.SetInterpolator(new DecelerateInterpolator()); } else { anim.SetInterpolator(new AccelerateDecelerateInterpolator()); } anim.SetDuration(500).Start(); _currentScroll = anim; }
public bool OnPreDraw() { this.ViewTreeObserver.RemoveOnPreDrawListener(this); // Lets animate the view sliding into its new position. Remember: the listview cell corresponding the mobile item is invisible so it looks like // the switch view is just sliding into position ObjectAnimator anim = ObjectAnimator.OfFloat(_switchView, "TranslationY", _switchView.TranslationY, _switchView.TranslationY + _diff); anim.SetDuration(400); anim.Start(); // ((IDraggableListAdapter)Adapter).SwapItems (_originalPosition, _switchViewPosition); // mobileView = GetViewForID (mMobileItemId); // anim.AnimationEnd += (sender, e) => { // mobileView.Visibility = ViewStates.Visible; // ((IDraggableListAdapter)Adapter).SwapItems (_originalPosition, _switchViewPosition); // try { // ((IDraggableListAdapter)Adapter).SwapItems (this.GetPositionForView (mobileView), GetPositionForView (_switchView)); // } catch (Exception e1) { // // } }; mTotalOffset += _deltaY; return(true); }
private void CreateCustomAnimation() { FloatingActionMenu menu3 = FindViewById <FloatingActionMenu>(Resource.Id.menu3); AnimatorSet set = new AnimatorSet(); ObjectAnimator scaleOutX = ObjectAnimator.OfFloat(menu3.MenuIconView, "scaleX", 1.0f, 0.2f); ObjectAnimator scaleOutY = ObjectAnimator.OfFloat(menu3.MenuIconView, "scaleY", 1.0f, 0.2f); ObjectAnimator scaleInX = ObjectAnimator.OfFloat(menu3.MenuIconView, "scaleX", 0.2f, 1.0f); ObjectAnimator scaleInY = ObjectAnimator.OfFloat(menu3.MenuIconView, "scaleY", 0.2f, 1.0f); scaleOutX.SetDuration(50); scaleOutY.SetDuration(50); scaleInX.SetDuration(150); scaleInY.SetDuration(150); scaleInX.AnimationStart += (object sender, EventArgs e) => { menu3.MenuIconView.SetImageResource(menu3.IsOpened ? Resource.Drawable.ic_close : Resource.Drawable.ic_star); }; set.Play(scaleOutX).With(scaleOutY); set.Play(scaleInX).With(scaleInY).After(scaleOutX); set.SetInterpolator(new OvershootInterpolator(2)); menu3.IconToggleAnimatorSet = set; }
private void AnimatoOnAppearance(TextView logo, Action onEnd = null) { logo.ScaleX = 0; logo.ScaleY = 0; var duration = 500; ObjectAnimator scaleDownX = ObjectAnimator.OfFloat(logo, "ScaleX", 1f); ObjectAnimator scaleDownY = ObjectAnimator.OfFloat(logo, "ScaleY", 1f); scaleDownX.SetDuration(duration); scaleDownY.SetDuration(duration); AnimatorSet scaleDown = new AnimatorSet(); // scaleDown.SetDuration(duration); scaleDown.Play(scaleDownX).With(scaleDownY); // scaleDown.AnimationEnd += (s, e) => onEnd?.Invoke(); scaleDown.Start(); /* * new Android.OS.Handler().PostDelayed(() => * { * var bar = FindViewById(Resource.Id.progressBar) as ProgressBar; * bar.Visibility = ViewStates.Visible; * }, 600);//*/ }
/** * Animate a view between start and end X/Y locations, using either old (pre-3.0) or * new animation APIs. */ private void moveView(View view, float startX, float endX, float startY, float endY, Runnable endAction) { Runnable finalEndAction = endAction; if (isRuntimePostGingerbread()) { view.Animate().SetDuration(MOVE_DURATION); if (startX != endX) { ObjectAnimator anim = ObjectAnimator.OfFloat(view, View.X, startX, endX); anim.SetDuration(MOVE_DURATION); anim.Start(); setAnimatorEndAction(anim, endAction); endAction = null; } if (startY != endY) { ObjectAnimator anim = ObjectAnimator.OfFloat(view, View.Y, startY, endY); anim.SetDuration(MOVE_DURATION); anim.Start(); setAnimatorEndAction(anim, endAction); } } else { TranslateAnimation translator = new TranslateAnimation(startX, endX, startY, endY); translator.Duration = (MOVE_DURATION); view.StartAnimation(translator); if (endAction != null) { view.Animation.SetAnimationListener(new CustomAnimatonListenerAdapter(finalEndAction)); } } }
public ObjectAnimator CreateNoteAnimation_FadeOnly(Position position) { const float TRANSPARENT = 0; const long DEFAULT_DURATION = 1000; DisplayMetrics screenDimensions = Generic.GetScreenDimentions(_currentActivity); //TODO: Add string positions as well. FretMetrics fretMetrics = GetFretMetrics(position.Fret); int Y_dest = fretMetrics.GetVerticalCenter() - _noteCircle.Height / 2; int X_dest = fretMetrics.GetHorizontalCenter() - _noteCircle.Width / 2; //Set initial location. _noteCircle.SetX(X_dest); _noteCircle.SetY(Y_dest); ObjectAnimator objAnimFadeOut = ObjectAnimator.OfFloat(_noteCircle, "Alpha", TRANSPARENT); objAnimFadeOut.SetDuration(DEFAULT_DURATION); objAnimFadeOut.AnimationEnd += (object sender, EventArgs e) => { OnNoteGone(this, new EventArgs()); }; return(objAnimFadeOut); }
private void Button_Touch(object sender, View.TouchEventArgs e) { ImageButton button = sender as ImageButton; switch (e.Event.Action) { case MotionEventActions.Down: ObjectAnimator animatorX = ObjectAnimator.OfFloat(button, "scaleX", button.ScaleX, 1.25f); animatorX.SetDuration(duration); ObjectAnimator animatorY = ObjectAnimator.OfFloat(button, "scaleY", button.ScaleY, 1.25f); animatorY.SetDuration(duration); var animSet = new AnimatorSet(); animSet.PlayTogether(animatorX, animatorY); animSet.Start(); break; case MotionEventActions.Move: break; case MotionEventActions.Up: ObjectAnimator animatorX1 = ObjectAnimator.OfFloat(button, "scaleX", button.ScaleX, 1f); animatorX1.SetDuration(duration); ObjectAnimator animatorY1 = ObjectAnimator.OfFloat(button, "scaleY", button.ScaleY, 1f); animatorY1.SetDuration(duration); var reverseanimSet = new AnimatorSet(); reverseanimSet.PlayTogether(animatorX1, animatorY1); reverseanimSet.Start(); break; } }
private void TapAnimation(long duration, byte startAlpha = 255, byte endAlpha = 0) { if (IsDisposed) { return; } if (_viewOverlay.Parent == null) { Container.AddView(_viewOverlay); } _viewOverlay.BringToFront(); var start = _color; var end = _color; start.A = startAlpha; end.A = endAlpha; _animator = ObjectAnimator.OfObject(_viewOverlay, "BackgroundColor", new ArgbEvaluator(), start.ToArgb(), end.ToArgb()); _animator.SetDuration(duration); _animator.RepeatCount = 0; _animator.RepeatMode = ValueAnimatorRepeatMode.Restart; _animator.Start(); _animator.AnimationEnd += AnimationOnAnimationEnd; }
public void SetDesLikeDirection() { try { ValueAnimator rotation = ObjectAnimator.OfPropertyValuesHolder(CardStack.TopView, PropertyValuesHolder.OfFloat("rotation", -10f)); rotation.SetDuration(200); ValueAnimator translateX = ObjectAnimator.OfPropertyValuesHolder(CardStack.TopView, PropertyValuesHolder.OfFloat("translationX", 0f, -2000f)); ValueAnimator translateY = ObjectAnimator.OfPropertyValuesHolder(CardStack.TopView, PropertyValuesHolder.OfFloat("translationY", 0f, -500f)); translateX.StartDelay = 100; translateY.StartDelay = 100; translateX.SetDuration(500); translateY.SetDuration(500); AnimatorSet cardAnimationSet = new AnimatorSet(); cardAnimationSet.PlayTogether(rotation, translateX, translateY); ObjectAnimator overlayAnimator = ObjectAnimator.OfFloat(CardStack.TopView.OverlayContainer, "alpha", 0f, 1f); overlayAnimator.SetDuration(200); AnimatorSet overlayAnimationSet = new AnimatorSet(); overlayAnimationSet.PlayTogether(overlayAnimator); CardStack.Swipe(SwipeDirection.Left, overlayAnimationSet); //int index = CardStack.TopIndex - 1; ////CardContainerView view = CardStack.BottomView; //if (index > -1) // CardDisappeared(index); } catch (Exception e) { Console.WriteLine(e); } }
private int InsertOntoView(AViews.View view, DragItem item) { var positionEntered = GetListPositionForView(view); var correctedPosition = positionEntered; // If the view already has a translation, we need to adjust the position // If the view has a positive translation, that means that the current position // is actually one index down then where it started. // If the view has a negative translation, that means it actually moved // up previous now we will need to move it down. if (view.TranslationY > 0) { correctedPosition += 1; } else if (view.TranslationY < 0) { correctedPosition -= 1; } // If the current index of the dragging item is bigger than the target // That means the dragging item is moving up, and the target view should // move down, and vice-versa var translationCoef = item.Index > correctedPosition ? 1 : -1; // We translate the item as much as the height of the drag item (up or down) var translationTarget = view.TranslationY + (translationCoef * item.View.Height); ObjectAnimator anim = ObjectAnimator.OfFloat(view, "TranslationY", view.TranslationY, translationTarget); anim.SetDuration(100); anim.Start(); return(correctedPosition); }
public static ObjectAnimator CreateFadeOutAnimation(Java.Lang.Object target, int duration, EventHandler endAnimationHandler) { ObjectAnimator oa = ObjectAnimator.OfFloat(target, ALPHA, INVISIBLE); oa.SetDuration(duration).AnimationEnd += endAnimationHandler; return(oa); }
private void startActionBarAnimation() { ObjectAnimator actionBarAnimation = ObjectAnimator.OfFloat(_actionBarView, ROTATION, GUILLOTINE_OPENED_ANGLE, ACTION_BAR_ROTATION_ANGLE); actionBarAnimation.SetDuration((long)(_duration * (GuillotineInterpolator.FIRST_BOUNCE_TIME + GuillotineInterpolator.SECOND_BOUNCE_TIME))); actionBarAnimation.SetInterpolator(new ActionBarInterpolator()); actionBarAnimation.Start(); }
private void SetupLoaderAnimation() { beatAnimation = ObjectAnimator.OfPropertyValuesHolder(view.FindViewById <ImageView>(Resource.Id.imgLoaderLogo), PropertyValuesHolder.OfFloat("scaleX", 1.2f), PropertyValuesHolder.OfFloat("scaleY", 1.2f)); beatAnimation.SetDuration(300); beatAnimation.RepeatCount = ValueAnimator.Infinite; beatAnimation.RepeatMode = ValueAnimatorRepeatMode.Reverse; beatAnimation.Start(); }
ObjectAnimator XAnimator(long duration, EasingFunction easing) { ObjectAnimator animatorX = ObjectAnimator.OfFloat(this, "phaseX", 0f, 1f); animatorX.SetInterpolator(new AnimationInterpolator(easing)); animatorX.SetDuration(duration); return(animatorX); }
private void CreateAnimation() { ObjectAnimator anim = ObjectAnimator.OfInt(pBar, "progress", Element.Minimun, Element.Value); anim.SetDuration(Element.AnimationDuration); anim.SetInterpolator(new DecelerateInterpolator()); anim.Start(); }
private static void SlidingAnimation(ViewHolder holder, bool goesDown) { ObjectAnimator animatorTranslateY = ObjectAnimator.OfFloat(holder.ItemContent, "translationY", goesDown ? 100 : -100, 0); animatorTranslateY.SetDuration(500); animatorTranslateY.Start(); }
/// <summary> /// Animates the note from the bottom to the top, and positions it depending on its fret position. /// </summary> /// <returns>Returns the animation of this NoteRepresentation.</returns> public ObjectAnimator CreateNoteAnimation() { const float TRANSPARENT = 0; DisplayMetrics screenDimensions = Generic.GetScreenDimentions(_currentActivity); FretMetrics fretMetrics = GetFretMetrics(_note.Position.Fret); //TODO: Add string positions as well. //Set initial location. _noteCircle.SetX(fretMetrics.GetHorizontalCenter() - _noteCircle.Width / 2); _noteCircle.SetY(screenDimensions.HeightPixels); int Y_dest = fretMetrics.GetVerticalCenter() - _noteCircle.Height / 2; ObjectAnimator objAnim = ObjectAnimator.OfFloat(_noteCircle, "Y", Y_dest); objAnim.SetDuration((long)_note.Duration); objAnim.StartDelay = (long)_note.Delay; objAnim.AnimationEnd += (object sender, EventArgs e) => { ObjectAnimator objAnimFadeOut = ObjectAnimator.OfFloat(_noteCircle, "Alpha", TRANSPARENT); objAnimFadeOut.SetDuration((long)_note.Duration); objAnimFadeOut.Start(); //Start capturing of note's sound input. OnNoteArraival(this, new OnNoteArraivalArgs(_note.Hertz)); objAnimFadeOut.AnimationEnd += (object sender2, EventArgs e2) => { //Note's sound input window closes. OnNoteGone(this, new EventArgs()); }; }; return(objAnim); /*PropertyViewAnimator pva = new PropertyViewAnimator(_noteCircle); * //Start * pva.Animate() * .SetDuration((int)(_note.Duration)) * .SetStartDelay((int)(_note.Delay)) * .Y(Y_dest_start) * .WithEndAction(new Runnable(() => { * //Start capturing of note's sound input. * //Raise StartNoteCapture event. * pva.Alpha(transparent).WithEndAction(new Runnable(() => { * //Note's sound input window closes. * //Raise EndNoteCapture event. * })); * })); * //Dilemma: * //Middle and End. * //But the animation does not happen here, it happens in AnimatorSet. * * return pva;*/ }
private ObjectAnimator YAnimator(long duration, EasingFunction easing) { ObjectAnimator animatorY = ObjectAnimator.OfFloat(this, "phaseY", 0f, 1f); animatorY.SetInterpolator(new AnimationInterpolator(easing)); animatorY.SetDuration(duration); return(animatorY); }
public void StartTranslateBottomAnimation() { float translationYFrom = -(260 * parentWidth) / 700; float translationYTo = (360 * parentWidth) / 700; ObjectAnimator translationY = ObjectAnimator.OfFloat(this, "translationY", translationYFrom, translationYTo); translationY.SetDuration(650); translationY.Start(); }
public static ViewPropertyAnimator ScrollY(this ViewPropertyAnimator vpa, ImageView imgView, params int[] values) { ObjectAnimator objAnim = ObjectAnimator.OfInt(imgView, "ScrollY", values); objAnim.SetDuration(vpa.Duration); objAnim.StartDelay = vpa.StartDelay; objAnim.Start(); return(vpa); }
public override ObjectAnimator GetInitialAnimator(Android.Content.Context context) { ObjectAnimator animator = ObjectAnimator.OfPropertyValuesHolder( PropertyValuesHolder.OfFloat("alpha", 0.5f, 1f), PropertyValuesHolder.OfFloat("rotation", 60f, 0f)); animator.SetDuration((long)(200 * mSpeedFactor)); return(animator); }
public static ViewPropertyAnimator ScrollX(this ViewPropertyAnimator vpa, ImageView imgView, params int[] values) { ObjectAnimator objAnim = ObjectAnimator.OfInt(imgView, "ScrollX", values); objAnim.SetDuration(vpa.Duration / 2); //Divide by 2 so it will take less time. objAnim.StartDelay = vpa.StartDelay; objAnim.Start(); return(vpa); }
public virtual void Show() { ObjectAnimator animator = ObjectAnimator.OfFloat(this, "y", showPosition); animator.SetInterpolator(new BounceInterpolator()); animator.SetDuration(1500); animator.Start(); isShow = true; }
private void RemovePicture(int index) { removeIndex = index; ObjectAnimator animator = ObjectAnimator.OfFloat(GetChildFromDrawOrder(index), "Alpha", 0); animator.SetDuration(tweenTime); animator.AnimationEnd += Animator_AnimationEnd; animator.Start(); }
public virtual void Hide() { ObjectAnimator animator = ObjectAnimator.OfFloat(this, "y", hidePosition); animator.SetInterpolator(new BounceInterpolator()); animator.SetDuration(1500); animator.Start(); isShow = false; }
private void CreateAnimation() { if (animation == null) { animation = ObjectAnimator.OfFloat(ball, "y", ball.Y, Height - 50f); animation.SetDuration(1500); animation.SetInterpolator(new AccelerateInterpolator(2f)); animation.Update += delegate { Invalidate(); }; } }