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; }
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; }
void SetLocationPin(LatLng finalLatLng) { if (locationPin != null) { locationPin.Remove(); locationPin = null; } var proj = map.Projection; var location = proj.ToScreenLocation(finalLatLng); location.Offset(0, -(35.ToPixels ())); var startLatLng = proj.FromScreenLocation(location); new Handler(Activity.MainLooper).PostDelayed(() => { var opts = new MarkerOptions() .SetPosition(startLatLng) .SetTitle(SearchPinId) .SetIcon(BitmapDescriptorFactory.DefaultMarker(BitmapDescriptorFactory.HueViolet)); var marker = map.AddMarker(opts); var animator = ObjectAnimator.OfObject(marker, "position", new LatLngEvaluator(), startLatLng, finalLatLng); animator.SetDuration(1000); animator.SetInterpolator(new Android.Views.Animations.BounceInterpolator()); animator.Start(); locationPin = marker; }, 800); }
/** * Resets all the appropriate fields to a default state while also animating * the hover cell back to its correct location. */ void touchEventsEnded() { touchEventsEndedMobileView = getViewForID(mMobileItemId); if (mCellIsMobile || mIsWaitingForScrollFinish) { mCellIsMobile = false; mIsWaitingForScrollFinish = false; mIsMobileScrolling = false; mActivePointerId = INVALID_POINTER_ID; // If the autoscroller has not completed scrolling, we need to wait for it to // finish in order to determine the final location of where the hover cell // should be animated to. if (mScrollState != 0) //OnScrollListener.SCROLL_STATE_IDLE) { { mIsWaitingForScrollFinish = true; return; } mHoverCellCurrentBounds.OffsetTo(mHoverCellOriginalBounds.Left, touchEventsEndedMobileView.Top); ObjectAnimator hoverViewAnimator = ObjectAnimator.OfObject(mHoverCell, "bounds", this, mHoverCellCurrentBounds); hoverViewAnimator.AddUpdateListener(this); hoverViewAnimator.AddListener(new MyAnimatorListenerAdapter(this)); hoverViewAnimator.Start(); } }
public override void Start(GoogleMap googleMap, IList <PositionModel> route) { _googleMap = googleMap; if (_firstRunAnimSet == null) { _firstRunAnimSet = new AnimatorSet(); } else { _firstRunAnimSet.RemoveAllListeners(); _firstRunAnimSet.End(); _firstRunAnimSet.Cancel(); _firstRunAnimSet = new AnimatorSet(); } LatLng[] bangaloreRoute = route.Select(e => new LatLng(e.Lat.GetValueOrDefault(0), e.Lng.GetValueOrDefault(0))).ToArray(); if (bangaloreRoute.Length == 0) { return; } var foregroundRouteAnimator = ObjectAnimator.OfObject(this, "routeIncreaseForward", new RouteEvaluator(), bangaloreRoute.ToArray <Object>()); foregroundRouteAnimator.SetInterpolator(new LinearInterpolator()); foregroundRouteAnimator.SetDuration((long)TimeSpan.FromMinutes(3).TotalMilliseconds); foregroundRouteAnimator.RepeatCount = ValueAnimator.Infinite; _firstRunAnimSet.PlaySequentially(foregroundRouteAnimator); _firstRunAnimSet.Start(); }
public void Animate(PathSegment segment) { lock (_lockObject) { if (!_animatorSet.IsRunning) { _pathSegment = segment; _animatorSet = new AnimatorSet(); _animatorSet.AddListener(this); var animators = new List <ObjectAnimator>(); foreach (var marker in _markers) { var positionAnimator = ObjectAnimator.OfObject( marker, "Position", new MarkerPositionEvaluator(), segment.FinalLocation.ToLatLng()); positionAnimator.AddListener(this); positionAnimator.AddUpdateListener(this); positionAnimator.SetDuration(Convert.ToInt64(segment.Duration.TotalMilliseconds)); animators.Add(positionAnimator); } _animatorSet.PlayTogether(animators.ToArray()); _animatorSet.Start(); } } }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.PathAnimation); button = FindViewById <Button>(Resource.Id.button); buttonProxy = AnimatorProxy.Wrap(button); var density = Resources.DisplayMetrics.Density; // Set up the path we're animating along var path = new AnimatorPath(); path.MoveTo(0 * density, 0 * density); path.LineTo(0 * density, 300 * density); path.CurveTo(100 * density, 0 * density, 300 * density, 900 * density, 400 * density, 500 * density); // Set up the animation var points = path.Points.Select(p => (Java.Lang.Object)p).ToArray(); var anim = ObjectAnimator.OfObject(this, "buttonLocation", new PathEvaluator(), points); anim.SetDuration(1000); button.Click += delegate { anim.Start(); }; }
internal void AnimateHide(string name, Action <string> onEvaluated) { var title = collapsingToolbar.Title; var anim = ObjectAnimator.OfObject(collapsingToolbar, "title", new CharSequenceEvaluator(onEvaluated), title, name); anim.SetDuration(600); anim.Start(); }
// Animate Marker on the map between retrieving positions private void AnimateMarkerOnMap(BitmapDescriptor icon, Marker markerToUpdate, LatLng newPosition, double?compassCourse, Position oldPosition) { markerToUpdate.SetIcon(icon); markerToUpdate.SetAnchor(.5f, ViewModel.Settings.ShowOrientedPins && compassCourse.HasValue ? .5f : 1f); var evaluator = new LatLngEvaluator(); var objectAnimator = ObjectAnimator.OfObject(markerToUpdate, "position", evaluator, new LatLng(oldPosition.Latitude, oldPosition.Longitude), newPosition); objectAnimator.SetAutoCancel(true); objectAnimator.SetDuration(5000); objectAnimator.SetInterpolator(new Android.Views.Animations.LinearInterpolator()); objectAnimator.Start(); }
private void CreateAnimation() { if (animation == null) { var startXY = new XYHolder(0f, 0f); var endXY = new XYHolder(300f * density, 500f * density); animation = ObjectAnimator.OfObject(ballHolder, "xY", new XYEvaluator(), endXY); animation.SetDuration(1500); animation.Update += delegate { Invalidate(); }; } }
private void TapAnimation(long duration, byte startAlpha = 255, byte endAlpha = 0) { var start = _color; var end = _color; start.A = startAlpha; end.A = endAlpha; var animation = ObjectAnimator.OfObject(_viewOverlay, "BackgroundColor", new ArgbEvaluator(), start.ToArgb(), end.ToArgb()); animation.SetDuration(duration); animation.RepeatCount = 0; animation.RepeatMode = ValueAnimatorRepeatMode.Restart; animation.Start(); animation.AnimationEnd += AnimationOnAnimationEnd; }
private void TapAnimation(long duration, byte startAlpha = 1, byte endAlpha = 0, bool remove = true) { _deleteLayer = remove; var start = _color; var end = _color; start.A = startAlpha; end.A = endAlpha; var animation = ObjectAnimator.OfObject(_layer, "BackgroundColor", new ArgbEvaluator(), start.ToArgb(), end.ToArgb()); animation.SetDuration(duration); animation.RepeatCount = 0; animation.RepeatMode = ValueAnimatorRepeatMode.Restart; animation.Start(); animation.AnimationEnd += AnimationOnAnimationEnd; }
public void UpdateBoxPosition(bool isChecked) { box.Animate().X(isChecked ? box.LayoutParameters.Width : 0); int _on = Color.Argb(255, 46, 125, 50).ToArgb(); int _off = Color.Gray.ToArgb(); ObjectAnimator animator; if (isChecked) { animator = ObjectAnimator.OfObject(this, "backgroundColor", new ArgbEvaluator(), _off, _on); } else { animator = ObjectAnimator.OfObject(this, "backgroundColor", new ArgbEvaluator(), _on, _off); } animator.SetDuration(200).Start(); }
private void TouchEventsEnded() { ViewHolder viewHolderForItemId = FindViewHolderForItemId(mobileItemId); if (viewHolderForItemId == null) { return; } mobileViewTouchEventsEnded = viewHolderForItemId.ItemView; if (cellIsMobile || usWaitingForScrollFinish) { cellIsMobile = false; usWaitingForScrollFinish = false; activePointerId = INVALID_POINTER_ID; // If the autoscroller has not completed scrolling, we need to wait for it to // finish in order to determine the final location of where the hover cell // should be animated to. if (ScrollState != (int)Android.Widget.ScrollState.Idle) { usWaitingForScrollFinish = true; return; } hoverCellCurrentBounds.OffsetTo(mobileViewTouchEventsEnded.Left, mobileViewTouchEventsEnded.Top); ObjectAnimator hoverViewAnimator = ObjectAnimator.OfObject(hoverCell, "bounds", sBoundEvaluator, hoverCellCurrentBounds); hoverViewAnimator.AddUpdateListener(valueAnimatorUpdateListner); hoverViewAnimator.AddListener(rcAnimatorListener); hoverViewAnimator.Start(); // Tell adpter movement of an item has completed. ((DraggableAdapter)GetAdapter()).MoveFinished(); } else { TouchEventsCancelled(); } }
void TouchEventsEnded() { mobileView = GetViewForID(mMobileItemId); if (mCellIsMobile) { mCellIsMobile = false; mActivePointerId = INVALID_POINTER_ID; ((IListAdapter)Adapter).MobileCellPosition = int.MinValue; mHoverCellCurrentBounds.OffsetTo(mHoverCellOriginalBounds.Left, mobileView.Top); ObjectAnimator hoverViewAnimator = ObjectAnimator.OfObject(mHoverCell, "Bounds", this, mHoverCellCurrentBounds); hoverViewAnimator.Update += HandleHoverAnimatorUpdate; hoverViewAnimator.AnimationStart += HandleHoverAnimationStart; hoverViewAnimator.AnimationEnd += HandleHoverAnimationEnd; hoverViewAnimator.Start(); } else { TouchEventsCancelled(); } }