Property Animations : valueAnimator and objectanimator

1. valueanimator

 public void SetKarmaValue(double value, bool animate)
        {
            Console.Out.WriteLine("i am set karma value");
            if (!animate)
            {
                KarmaValue = value;
                return;
            }

            ValueAnimator animator = ValueAnimator.OfFloat((float)_position, (float)Math.Max(0f, Math.Min(value, 1f)));
            
            animator.SetDuration(500);

            animator.Update += (sender, e) => KarmaValue = (double)e.Animation.AnimatedValue;
            
            animator.Start();
        }

 karmaValue 是一个属性

2. objectAnimator

 public void SetObjectAnimator(double value)
        {
            Console.Out.WriteLine("i am set objectanimator value");
            ObjectAnimator objectAnimator = ObjectAnimator.OfFloat(this, "KarmaValue", (float)_position, (float)Math.Max(0f, Math.Min(value, 1f)));
            objectAnimator.SetDuration(500);
            objectAnimator.Start();
        }

 error : can't find setKarmaValue() type of float  in the class 

解决办法。 倒入mono.android.export.dll

 [Export("setKarmaValue")]
        public void setKarmaValue(float value)
        {
            _position = Math.Max(0f, Math.Min(value, 1f));
            Invalidate();
        }

ok.

posted @ 2014-04-12 17:19  penney  阅读(173)  评论(0)    收藏  举报