Exemple #1
0
        protected override void OnCreate (Bundle savedInstanceState)
        {
            base.OnCreate (savedInstanceState);

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

            // Get our button from the layout resource,
            // and attach an event to it
            var layout = FindViewById<RelativeLayout> (Resource.Id.mainLayout);
            layout.SetBackgroundColor(Color.Black);
            var txt = FindViewById<TextView> (Resource.Id.introText);
            var logo = FindViewById<ImageView> (Resource.Id.logoImage);
            layout.SetCommand ("Click", Vm.LaunchCommand);

            TranslateAnimation transAnim = new TranslateAnimation(0, 0, -500, Resources.DisplayMetrics.HeightPixels / 5);
            transAnim.SetAnimationListener(this);
            transAnim.Interpolator = new BounceInterpolator();
            transAnim.StartOffset = 500;
            transAnim.Duration = 1500;
            transAnim.FillAfter = true;
            logo.StartAnimation(transAnim);

            AlphaAnimation fadeTextIn = new AlphaAnimation(0.0f, 1.0f); 
            txt.StartAnimation(fadeTextIn);
            fadeTextIn.StartOffset = transAnim.StartOffset + transAnim.Duration;
            fadeTextIn.Duration = 1000;
            fadeTextIn.FillAfter = true;
        }
 private Animation CreateTranslationInAnimation()
 {
     const Dimension type = Dimension.RelativeToSelf; //TranslateAnimation.RELATIVE_TO_SELF;
     var an = new TranslateAnimation(type, 0, type, 0, type, 1, type, 0)
     {
         Duration = TranslateDuration
     };
     return an;
 }
		public override void OnActivityCreated (Bundle savedInstanceState)
		{
			base.OnActivityCreated (savedInstanceState);

			InitWidth();
			InitTextView();
			InitViewPager();
			TranslateAnimation animation = new TranslateAnimation(position_one, offset, 0, 0){FillAfter = true,Duration = 300};
			ivBottomLine.StartAnimation(animation);
		}
 public static Animation BuildDefaultSlideOutUpAnimation(View croutonView)
 {
     if (_lastOutAnimationHeight != croutonView.MeasuredHeight || (null == _slideOutUpAnimation))
     {
         _slideOutUpAnimation = new TranslateAnimation(0, 0, 0, -croutonView.MeasuredHeight);
         _slideOutUpAnimation.Duration = Duration;
         _lastOutAnimationHeight = croutonView.MeasuredHeight;
     }
     return _slideOutUpAnimation;
 }
		private void InitView()
		{
			//设置标题栏
			var btn_header_back = FindViewById<Button> (Resource.Id.btn_header_back);
			btn_header_back.Click += (sender, e) => 
			{
				this.Finish();
				OverridePendingTransition(Android.Resource.Animation.SlideInLeft,Android.Resource.Animation.SlideOutRight);
			};
			var tv_header_title = FindViewById<TextView> (Resource.Id.tv_header_title);
			tv_header_title.Text = "投诉建议";
			InitWidth();
			InitTabBtnView();
			InitViewPager();
			TranslateAnimation animation = new TranslateAnimation(position_one, offset, 0, 0){FillAfter = true,Duration = 300};
			ivBottomLine.StartAnimation(animation);
		}
        void HandleTouch(object sender, TouchEventArgs e)
        {
            if (e.Event.Action == Android.Views.MotionEventActions.Down)
            {
                Control.SetX(0);
                Control.ClearAnimation();
            }
            var swiped = _detector.OnTouchEvent(e.Event);

            if (swiped)
            {
                try
                {
                    var endPoint = e.Event.HistorySize;
                    var end      = e.Event.GetHistoricalX(endPoint - 1);
                    var start    = e.Event.GetHistoricalX(0);
                    var dif      = end - start;
                    if (dif > 0)
                    {
                        Control.TranslationX = Control.TranslationX + dif;
                    }
                }
                catch (Exception)
                {
                    //sometimes historicalX gets out of bounds coz xamarin is so well written
                }
            }
            if (e.Event.Action == Android.Views.MotionEventActions.Up || e.Event.Action == Android.Views.MotionEventActions.Cancel)
            {
                var delta = Control.GetX();
                if (delta > 300)//arbitrarynumber no point in getting it every time, should be probed once based on time on app startup,
                {
                    animation = GetDeletingAnimation();
                    animation.AnimationEnd += DeleteControl;
                }
                else
                {
                    animation = GetReturnAnimation(delta);
                }
                Control.StartAnimation(animation);
            }
        }
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            //RequestWindowFeature(WindowFeatures.ActionBar);
            SetContentView(Resource.Layout.ItemDetails);

            _txtName = FindViewById<TextView>(Resource.Id.txtName);
            progresBar = FindViewById<ProgressBar>(Resource.Id.progressBar1);

            moveDownAnimation = new TranslateAnimation(0, 0, -200, 0);
            moveDownAnimation.Duration = 1000;
            moveDownAnimation.FillAfter = true;
            moveDownAnimation.Interpolator = new BounceInterpolator();
            _txtName.Visibility =  ViewStates.Gone;
            //_txtDescription = FindViewById<TextView>(Resource.Id.txtDescription);
            //_txtPrice = FindViewById<TextView>(Resource.Id.txtAsking);
            //_txtRetail = FindViewById<TextView>(Resource.Id.txtRetail);
            _imgItem = FindViewById<ImageView>(Resource.Id.imgItem);
            _imgItem.Visibility = ViewStates.Gone;
            _imgItem.Dispose();
        }
 public override bool OnFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)
 {
     if (Math.Abs(velocityX) < 500) return false;
     _lastView = _parentActivity.LastView;
     var animationSet = new AnimationSet(true)
     {
         Interpolator = new AccelerateDecelerateInterpolator(),
         Duration = 300,
         FillAfter = true
     };
     var animationRotate = new RotateAnimation(0, Math.Sign(velocityX)*15);
     var animationTranslate = new TranslateAnimation(0, Math.Sign(velocityX)*400,
         0, 10);
     var animationAlpha = new AlphaAnimation(1, 0);
     animationSet.AddAnimation(animationRotate);
     animationSet.AddAnimation(animationTranslate);
     animationSet.AddAnimation(animationAlpha);
     animationSet.AnimationEnd += AnimationSet_AnimationEnd;
     _lastView.StartAnimation(animationSet);
     return true;
 }
        private Animation SwipeDragAnimation(float activeX)
        {
            float delX = activeX - _lastX;

            Animation translate = new TranslateAnimation (Offset, Offset + delX, 0, 0);
            translate.Duration = 0;
            translate.FillAfter = true;

            return translate;
        }
        public virtual void Show()
        {
            var moveRightToLeft = new TranslateAnimation(-(_textWidth*2), 0, 0, 0)
            {
                Duration = ShowSpeed,
                FillAfter = true
            };

            _dotThree.StartAnimation(moveRightToLeft);

            moveRightToLeft = new TranslateAnimation(-_textWidth, 0, 0, 0) {Duration = ShowSpeed, FillAfter = true};

            _dotTwo.StartAnimation(moveRightToLeft);
            _isHide = false;
        }
 private Animation CreateTranslationOutAnimation()
 {
     TranslateAnimation an = new TranslateAnimation(Dimension.RelativeToSelf, 0,
         Dimension.RelativeToSelf, 0, Dimension.RelativeToSelf, 0, Dimension.RelativeToSelf, 1);
     an.Duration = TRANSLATE_DURATION;
     an.FillAfter = true;
     return an;
 }
        private void AnimateTopLayer(float percent, bool force = false)
        {
            if (!canAnimate)
                return;

            if (height <= 0) {
                height = (float)topLayer.MeasuredHeight;
                if (height <= 0)
                    return;
            }

            canAnimate = false;

            var start = animation == null ? -height : lastY;
            var time = 300;
            IInterpolator interpolator;

            if (percent < 0)
                percent = 0;
            else if (percent > 100)
                percent = 100;

            lastY = -height * (percent / 100F);

            if ((int)lastY == (int)start && !force) {
                canAnimate = true;
                return;
            }

            //is new so do bound, else linear
            if (fullAnimation || !Utils.IsSameDay) {
                interpolator = new BounceInterpolator ();
                time = 3000;
                fullAnimation = false;
            } else {
                interpolator = new LinearInterpolator ();
            }
            animation = new TranslateAnimation (Dimension.Absolute, 0,
                Dimension.Absolute, 0,
                Dimension.Absolute, start,
                Dimension.Absolute, lastY);
            animation.Duration = time;

            animation.Interpolator = interpolator;
            animation.AnimationEnd += (object sender, Animation.AnimationEndEventArgs e) => {
                canAnimate = true;
            };

            animation.FillAfter = true;
            topLayer.StartAnimation(animation);
            if (topLayer.Visibility != Android.Views.ViewStates.Visible)
                topLayer.Visibility = Android.Views.ViewStates.Visible;
        }
        /**
	 * Slide animations to hide a view by sliding it to the top
	 * 
	 * @param duration the animation duration in milliseconds
	 * @param interpolator the interpolator to use (pass {@code null} to use the {@link AccelerateInterpolator} interpolator) 	
	 * @return a slide transition animation
	 */

        public static Animation OutToTopAnimation(long duration, IInterpolator interpolator)
        {
            Animation outtotop = new TranslateAnimation(
                Dimension.RelativeToParent, 0.0f, Dimension.RelativeToParent, 0.0f,
                Dimension.RelativeToParent, 0.0f, Dimension.RelativeToParent, -1.0f
                );
            outtotop.Duration = duration;
            outtotop.Interpolator = interpolator ?? new AccelerateInterpolator();
            return outtotop;
        }
 private Animation CreateTranslationInAnimation()
 {
     TranslateAnimation an = new TranslateAnimation(Dimension.RelativeToSelf, 0,
         Dimension.RelativeToSelf, 0, Dimension.RelativeToSelf, 1, Dimension.RelativeToSelf, 0);
     an.Duration = TRANSLATE_DURATION;
     return an;
 }
		/// <summary>
		/// 新的页面被选中调用
		/// </summary>
		/// <param name="position">Position.</param>
		public void OnPageSelected(int position)
		{
			Animation animation = null;
			switch (position)
			{
			case 0:
				if (currentIndex == 1) {
					animation = new TranslateAnimation (position_one, offset, 0, 0);
					tvTabmyAlarm.SetTextColor (Resources.GetColor (Resource.Color.blue));
				} 
					
				tvTabotherAlarm.SetTextColor (Resources.GetColor (Resource.Color.darkgray));

					break;
			case 1:
				if (currentIndex == 0) {
					animation = new TranslateAnimation (offset, position_one, 0, 0);
					tvTabotherAlarm.SetTextColor (Resources.GetColor (Resource.Color.blue));
				} 
				tvTabmyAlarm.SetTextColor (Resources.GetColor(Resource.Color.darkgray));
					break;
			}
				
			animation.FillAfter = true;
			animation.Duration = 300;
			ivBottomLine.StartAnimation (animation);
			currentIndex = position;
		}
        /**
	 * Slide animations to enter a view from top.
	 * 
	 * @param duration the animation duration in milliseconds
	 * @param interpolator the interpolator to use (pass {@code null} to use the {@link AccelerateInterpolator} interpolator) 	
	 * @return a slide transition animation
	 */

        public static Animation InFromTopAnimation(long duration, IInterpolator interpolator)
        {
            Animation infromtop = new TranslateAnimation(
                Dimension.RelativeToParent, 0.0f, Dimension.RelativeToParent, 0.0f,
                Dimension.RelativeToParent, -1.0f, Dimension.RelativeToParent, 0.0f
                );
            infromtop.Duration = duration;
            infromtop.Interpolator = interpolator ?? new AccelerateInterpolator();
            return infromtop;
        }
        private Animation SwipeEndAnimation()
        {
            TranslateAnimation translate = null;

            if (ShouldDeleteSwipeView())
            {
                if (_lastX > _firstX)
                {
                    translate = new TranslateAnimation (Offset, _swipeView.Width, 0, 0);
                }
                else
                {
                    translate = new TranslateAnimation (Offset, -_swipeView.Width, 0, 0);
                }
            }
            else
            {
                translate = new TranslateAnimation (Offset, 0, 0, 0);
            }

            translate.Duration = 330;
            translate.FillAfter = true;

            return translate;
        }
        private void animateAlphaTranslate(View view, float alphaFrom, float alphaTo, float xFrom, float xTo,
            bool requestFocus)
        {
            AnimationSet animationSet = new AnimationSet(true);

            AlphaAnimation fade = new AlphaAnimation(alphaFrom, alphaTo);
            fade.Duration = 350;

            TranslateAnimation slide = new TranslateAnimation(Dimension.RelativeToSelf, xFrom,
                                                              Dimension.RelativeToSelf, xTo,
                                                              Dimension.RelativeToSelf, 0,
                                                              Dimension.RelativeToSelf, 0);

            slide.Duration = 350;

            animationSet.AddAnimation(fade);
            animationSet.AddAnimation(slide);
            view.StartAnimation(animationSet);

            if (requestFocus)
            {
                animationSet.AnimationEnd += (obj, args) => view.RequestFocus();
            }
        }
        private void MaximizeView(View view)
        {
            var animationSet = new AnimationSet(true)
            {
                Interpolator = new AccelerateDecelerateInterpolator(),
                Duration = 500,
                FillAfter = true
            };
            var scaleAnimation = new ScaleAnimation(1f, 1.25f, 1f, 1.25f, Dimension.RelativeToSelf, 0f,
                Dimension.RelativeToSelf, 0f);
            _selectedViewTop = view.Top;
            _selectedViewLeft = view.Left;
            var translateAnimation = new TranslateAnimation(Dimension.RelativeToSelf, 0, Dimension.Absolute, -view.Left,
                Dimension.RelativeToSelf, 0, Dimension.Absolute, -view.Top + _addButton.Height);
            animationSet.AddAnimation(scaleAnimation);
            animationSet.AddAnimation(translateAnimation);

            view.StartAnimation(animationSet);
        }
    private void Toggle (bool visible, bool animate, bool force)
    {
      if (Visible != visible || force) {
        Visible = visible;
        lastToggleAnimate = animate;
        int height = Height;
        if (height == 0 && !force) {
          var vto = ViewTreeObserver;
          if (vto.IsAlive) {
            vto.AddOnPreDrawListener (this);
            return;
          }
        }
        var translationY = visible ? 0 : height + MarginBottom;
        if (animate) {

          if ((int)Build.VERSION.SdkInt >= 12) {
            #if __ANDROID_12__
            Animate ().SetInterpolator (interpolator)
            .SetDuration (TranslateDurationMillis)
            .TranslationY (translationY);
            #endif
          } else {
            var oldY = !visible ? 0 : height + MarginBottom;
            var animation = new TranslateAnimation (0, 0, oldY, translationY);
            animation.Duration = TranslateDurationMillis;
            if (visible)
            {
              animation.AnimationStart += (sender, e) => {
                this.Visibility = ViewStates.Visible;
              };
            }   
            else {
              animation.AnimationEnd += (sender, e) => {
                this.Visibility = ViewStates.Gone; 
              };
            }
            this.StartAnimation (animation);

          }
        } else {

          if ((int)Build.VERSION.SdkInt >= 11) {
            #if __ANDROID_11__
            this.TranslationY = translationY;
            #endif
          }
          else{
            var oldY = !visible ? 0 : height + MarginBottom;
            var animation = new TranslateAnimation (0, 0, oldY, translationY);
            animation.Duration = 0;

            if (visible)
            {
              animation.AnimationStart += (sender, e) => {
                this.Visibility = ViewStates.Visible;
              };
            }   
            else {
              animation.AnimationEnd += (sender, e) => {
                this.Visibility = ViewStates.Gone; 
              };
            }
            this.StartAnimation (animation);
          }

        }

        if (!HasHoneycombApi) {
          Clickable = visible;
        }
      }
    }
Exemple #21
0
        TranslateAnimation Move_Card(ImageView ivStart, ImageView ivEnd, long duration)
        {
            int[] startPosition = Position_Of (ivStart);
            int[] endPosition = Position_Of (ivEnd);
            TranslateAnimation anim = new TranslateAnimation(
                Dimension.Absolute, startPosition [0], Dimension.Absolute, endPosition [0] - group.PaddingLeft,//from to X
                Dimension.Absolute, startPosition [1] - group.PaddingTop, Dimension.Absolute, endPosition [1] - (1+lp.Height));//from to Y
            anim.Duration = duration;
            anim.FillAfter = true;
            MyAnimationListener myAnimationListener = new MyAnimationListener (this);
            MyAnimationListener.AnimationEnded += AnimationEndedHandler;
            anim.SetAnimationListener (myAnimationListener);

            return anim;
        }
Exemple #22
0
		public void showLeyenda()
		{

			int xi;
			int xf;
			if (_leyendaShowed) {

				xf = 0;
				xi = Configuration.getWidth (500);
				//leyendaLayout.SetX (0);
				_leyendaShowed = false;

			} else {
				xf = -Configuration.getWidth (500);
				xi = 0;
				_leyendaShowed = true;
			}

			TranslateAnimation transAnimation = new TranslateAnimation (xi,xf, 0, 0);
			transAnimation.Duration = 500;
			transAnimation.FillAfter = true;
			leyendaLayout.StartAnimation (transAnimation);
		}
        /**
	 * Slide animations to enter a view from right.
	 * 
	 * @param duration the animation duration in milliseconds
	 * @param interpolator the interpolator to use (pass {@code null} to use the {@link AccelerateInterpolator} interpolator) 	
	 * @return a slide transition animation
	 */

        public static Animation InFromRightAnimation(long duration, IInterpolator interpolator)
        {

            Animation inFromRight = new TranslateAnimation(
                Dimension.RelativeToParent, +1.0f, Dimension.RelativeToParent, 0.0f,
                Dimension.RelativeToParent, 0.0f, Dimension.RelativeToParent, 0.0f
                );
            inFromRight.Duration = duration;
            inFromRight.Interpolator = interpolator ?? new AccelerateInterpolator();
            return inFromRight;
        }
 private Animation CreateTranslationOutAnimation()
 {
     const Dimension type = Dimension.RelativeToSelf;
     TranslateAnimation an = new TranslateAnimation(type, 0, type, 0, type, 0, type, 1)
     {
         Duration = TranslateDuration,
         FillAfter = true
     };
     return an;
 }
		// 初始化上下回弹的动画效果
		private void upDownMoveAnimation() {
			TranslateAnimation animation = new TranslateAnimation(0.0f, 0.0f,
				childView.Top, topRect.Top);
			animation.Duration=300;
			animation.Interpolator = new AccelerateInterpolator ();
			childView.Animation =animation;
		}