ObjectAnimator Proxy do Animate TopMargin nie może znaleźć ustawienia / gettera
Próbujemy użyć proxy obiektowego animatora do animacji właściwości TopMargin w Androidzie (Xamarin).
Mamy jednak ten błąd:
[PropertyValuesHolder] Nie można znaleźć settera / gettera dla właściwości TopMargin z wartością typu float
Uwaga: próbowaliśmy TopMargin, topMargin, GetTopMargin, getTopMargin itp., Myśląc, że może to być problem z konwersją obudowy między Javą i C #, ale tak nie wygląda.
Nasz kod w działaniu rozpoczynający animację:
translation = new int[] {0, 300};
var anim2 = ObjectAnimator.OfInt( new MarginProxyAnimator(myview), "TopMargin",translation);
anim2.SetDuration(500);
anim2.Start();
Nasza klasa proxy:
public class MarginProxyAnimator : Java.Lang.Object
{
///... other code...
public int getTopMargin() {
var lp = (ViewGroup.MarginLayoutParams)mView.LayoutParameters;
return lp.TopMargin;
}
public void setTopMargin(int margin) {
var lp = (ViewGroup.MarginLayoutParams)mView.LayoutParameters;
lp.SetMargins(lp.LeftMargin, margin, lp.RightMargin, lp.BottomMargin);
mView.RequestLayout();
}
}
Jakaś rada? pomocny byłby wskaźnik do działającej próbki Xamarin za pomocą proxy.
dzięki.