public Object Evaluate(float fraction, Object startValue, Object endValue) { var start = (RelativeLayout.LayoutParams)startValue; var end = (RelativeLayout.LayoutParams)endValue; RelativeLayout.LayoutParams result = CardUtils.CloneParams(start); result.LeftMargin += (int)((end.LeftMargin - start.LeftMargin) * fraction); result.RightMargin += (int)((end.RightMargin - start.RightMargin) * fraction); result.TopMargin += (int)((end.TopMargin - start.TopMargin) * fraction); result.BottomMargin += (int)((end.BottomMargin - start.BottomMargin) * fraction); return(result); }