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.

浙公网安备 33010602011771号