/*private void measureScrapChild(RecyclerView.Recycler recycler, int position, int widthSpec,
			int heightSpec, int[] measuredDimension)
		{
			
			View view = recycler.GetViewForPosition(position);
			recycler.BindViewToPosition(view, position);

			if (view != null)
			{
				view.Measure(widthSpec, heightSpec);
				//MeasureChildWithMargins(view, widthSpec, heightSpec);
				measuredDimension[0] = view.MeasuredWidth;
				measuredDimension[1] = view.MeasuredHeight;
				recycler.RecycleView(view);
			}
		}*/
		private void measureScrapChild(RecyclerView.Recycler recycler, int position, int widthSpec,
			int heightSpec, int[] measuredDimension) {

			View view = recycler.GetViewForPosition(position);
			recycler.BindViewToPosition(view, position);

			base.MeasureChildWithMargins (view, 0,0);

			if (view != null) {

				RecyclerView.LayoutParams p = view.LayoutParameters.JavaCast<RecyclerView.LayoutParams>();
				int childWidthSpec = ViewGroup.GetChildMeasureSpec (widthSpec,
					                     PaddingLeft + PaddingRight, p.Width);
				int childHeightSpec = ViewGroup.GetChildMeasureSpec (heightSpec,
					                      PaddingTop + PaddingBottom, p.Height);
				view.Measure (childWidthSpec, childHeightSpec);
				measuredDimension [0] = view.MeasuredWidth + p.LeftMargin + p.RightMargin;
				measuredDimension [1] = view.MeasuredHeight + p.BottomMargin + p.TopMargin;
				recycler.RecycleView (view);
			}
		}