我有一个FrameLayout,我正在使用Animate API在Xamarin Android中制作动画。问题是当动画结束时,视图的LayoutParameters不会更新。我知道这是Android动画的常规行为,我需要在动画结束时设置LayoutParameters。但是当我设置它时,视图就会消失。
这是我的代码:
var targetX = somevalue;
var currentX = someothervalue;
Result.Animate().
SetDuration(300).
TranslationXBy(targetX - currentX).
WithLayer().
WithEndAction(new Java.Lang.Runnable(() =>
{
(Result.LayoutParameters as FrameLayout.LayoutParams).LeftMargin = targetX;
Result.RequestLayout();
})).
Start();