Example #1
0
        public void ShowNotification(string notification, string duration = null, string distance = null, int delay = 0)
        {
            notificationPanel.TranslationY =
                notificationPanel.Height + ((LinearLayout.LayoutParams)notificationPanel.LayoutParameters).BottomMargin;
            notificationPanel.TranslationX = 0;
            notificationPanel.ScaleX       = .9f;
            notificationPanel.Visibility   = ViewStates.Visible;
            lastTrip.Text = notification;
            if (duration == null || distance == null)
            {
                rideInfoPanel.Visibility = ViewStates.Invisible;
                lastTrip.TranslationY    = TypedValue.ApplyDimension(ComplexUnitType.Dip, 8, Resources.DisplayMetrics);
            }
            else
            {
                rideInfoPanel.Visibility = ViewStates.Visible;
                rideInfoPanel.FindViewById <TextView> (Resource.Id.timeText).Text     = duration;
                rideInfoPanel.FindViewById <TextView> (Resource.Id.distanceText).Text = distance;
                lastTrip.TranslationY = 0;
            }
            var time  = Resources.GetInteger(Android.Resource.Integer.ConfigLongAnimTime);
            var decel = new Android.Views.Animations.DecelerateInterpolator();

            notificationPanel.Animate().TranslationY(0).ScaleX(1).SetDuration(time).SetStartDelay(delay).SetInterpolator(decel).WithEndAction(new Run(() => {
                var accel = new Android.Views.Animations.AccelerateInterpolator();
                notificationPanel.Animate()
                .TranslationX(-Resources.DisplayMetrics.WidthPixels)
                .SetDuration(time)
                .SetStartDelay(6000)
                .SetInterpolator(accel)
                .WithEndAction(new Run(() => notificationPanel.Visibility = ViewStates.Invisible))
                .Start();
            })).Start();
        }
Example #2
0
		public void ShowNotification (string notification, string duration = null, string distance = null, int delay = 0)
		{
			notificationPanel.TranslationY =
				notificationPanel.Height + ((LinearLayout.LayoutParams)notificationPanel.LayoutParameters).BottomMargin;
			notificationPanel.TranslationX = 0;
			notificationPanel.ScaleX = .9f;
			notificationPanel.Visibility = ViewStates.Visible;
			lastTrip.Text = notification;
			if (duration == null || distance == null) {
				rideInfoPanel.Visibility = ViewStates.Invisible;
				lastTrip.TranslationY = TypedValue.ApplyDimension (ComplexUnitType.Dip, 8, Resources.DisplayMetrics);
			} else {
				rideInfoPanel.Visibility = ViewStates.Visible;
				rideInfoPanel.FindViewById<TextView> (Resource.Id.timeText).Text = duration;
				rideInfoPanel.FindViewById<TextView> (Resource.Id.distanceText).Text = distance;
				lastTrip.TranslationY = 0;
			}
			var time = Resources.GetInteger (Android.Resource.Integer.ConfigLongAnimTime);
			var decel = new Android.Views.Animations.DecelerateInterpolator ();

			notificationPanel.Animate ().TranslationY (0).ScaleX (1).SetDuration (time).SetStartDelay (delay).SetInterpolator (decel).WithEndAction (new Run (() => {
				var accel = new Android.Views.Animations.AccelerateInterpolator ();
				notificationPanel.Animate ()
					.TranslationX (-Resources.DisplayMetrics.WidthPixels)
					.SetDuration (time)
					.SetStartDelay (6000)
					.SetInterpolator (accel)
					.WithEndAction (new Run (() => notificationPanel.Visibility = ViewStates.Invisible))
					.Start ();
			})).Start ();
		}