Exemplo n.º 1
0
        private void ExecuteAlphaAnimation(int from, int to, int duration)
        {
            CheckAttrsValues();

            ValueAnimator valueAnimator = ValueAnimator.OfInt(from, to);

            valueAnimator.SetDuration(duration);
            valueAnimator.AddUpdateListener(new AnonymousAnimatorUpdateListener(animation => {
                int newAlpha        = (int)animation.AnimatedValue;
                this.ForgroundAlpha = newAlpha;
                //anim finished
                if (newAlpha == to)
                {
                    valueAnimator.Cancel();
                    this.animList.Clear();
                    if (this.onAlphaFinishedListener != null)
                    {
                        if (from > to)
                        {
                            this.onAlphaFinishedListener.OnHideFinished();
                        }
                        else
                        {
                            this.onAlphaFinishedListener.OnShowFinished();
                        }
                    }
                }
            }));
            valueAnimator.Start();
            animList.Add(valueAnimator);
        }
Exemplo n.º 2
0
 /// <summary>
 /// get alpha when animation finished or intercepted
 /// @return
 /// </summary>
 private int GetLastFinishedAlpha(bool isShow)
 {
     if (animList.Count == 0)
     {
         return(isShow ? alphaFrom : alphaTo);
     }
     else
     {
         ValueAnimator animator = animList[animList.Count - 1];
         animator.Cancel();
         int alpha = (int)animator.AnimatedValue;
         animList.Clear();
         return(alpha);
     }
 }