2013-03-16 2 views
0

Я пытаюсь использовать NineOldAndroids, чтобы включить обратную совместимость с предварительно 3.x устройств, но я встречая следующую ошибку сборки:NineOldAndroids для MonoDroid

.../NineOldAndroids/obj/Debug/generated/src/Com.Nineoldandroids.Animation.AnimatorSet.cs(83,83): Error CS0508: Com.Nineoldandroids.Animation.AnimatorSet.SetDuration(long)': return type must be Com.Nineoldandroids.Animation.Animator' to match overridden member `Com.Nineoldandroids.Animation.Animator.SetDuration(long)' (CS0508) (NineOldAndroids)

, но подпись в генерируемый код выглядит следующим образом:

public override global::Com.Nineoldandroids.Animation.AnimatorSet SetDuration (long p0) 

и класс подписи AnimatorSet выглядит следующим образом:

public sealed partial class AnimatorSet : global::Com.Nineoldandroids.Animation.Animator { 

Проблема заключается в том, что AnimatorSet наследуется от Animator, я не уверен, почему это должно быть проблемой.

Есть ли примеры связывания NineOldAndroids для MonoDroid, о которых вы знаете или знаете, как это исправить?

ответ

0

Эти сообщения об ошибках связаны с тем, что C# не поддерживает Covariant Return Types, а Java ≥1.5.

Добавьте эти строки в Transforms/Metadata.xml:

<attr path="/api/package/class[@name='AnimatorSet']/method[@name='setDuration']" name="managedReturn">Com.Nineoldandroids.Animation.Animator</attr> 
<attr path="/api/package/class[@name='ValueAnimator']/method[@name='setDuration']" name="managedReturn">Com.Nineoldandroids.Animation.Animator</attr> 
Смежные вопросы