private void SetupLayout() { // Setup Timeline. var layoutParamsTimeline = (RelativeLayout.LayoutParams)timelineView.LayoutParameters; layoutParamsTimeline.SetMargins(Resources.GetDimensionPixelSize(Resource.Dimension.frames_video_maxsize) / 2, Resources.GetDimensionPixelSize(Resource.Dimension.frames_video_vMargin), Resources.GetDimensionPixelSize(Resource.Dimension.frames_video_maxsize) / 2, Resources.GetDimensionPixelSize(Resource.Dimension.frames_video_vMargin)); layoutParamsTimeline.AddRule(LayoutRules.Below, Resource.Id.position_arrow); timelineView.LayoutParameters = layoutParamsTimeline; var displayMetrics = new DisplayMetrics(); WindowManager.DefaultDisplay.GetMetrics(displayMetrics); this.timelineEnd = displayMetrics.WidthPixels - layoutParamsTimeline.RightMargin; this.timelineStart = layoutParamsTimeline.LeftMargin; // Setup position arrow. RelativeLayout.LayoutParams layoutParamsPositionArrow = new RelativeLayout.LayoutParams(Resources.GetDimensionPixelSize(Resource.Dimension.position_arrow_maxsize) / 2, Resources.GetDimensionPixelSize(Resource.Dimension.position_arrow_maxsize)); layoutParamsPositionArrow.AddRule(LayoutRules.Below, Resource.Id.layout_video_view); layoutParamsPositionArrow.TopMargin = Resources.GetDimensionPixelSize(Resource.Dimension.frames_video_vMargin); layoutParamsPositionArrow.LeftMargin = layoutParamsPositionArrow.Width / 2; imageViewArrowPosition.LayoutParameters = layoutParamsPositionArrow; imageViewArrowPosition.SetOnTouchListener(this); // Setupe left arrow. RelativeLayout.LayoutParams layoutParamsLeftArrow = new RelativeLayout.LayoutParams(Resources.GetDimensionPixelSize(Resource.Dimension.frames_video_maxsize) / 2, Resources.GetDimensionPixelSize(Resource.Dimension.frames_video_maxsize)); layoutParamsLeftArrow.AddRule(LayoutRules.Below, Resource.Id.layout_video_view); this.maxArrowPositionLeft = this.timelineStart - layoutParamsLeftArrow.Width; this.leftArrowX = this.maxArrowPositionLeft; layoutParamsLeftArrow.LeftMargin = maxArrowPositionLeft; layoutParamsLeftArrow.TopMargin = layoutParamsPositionArrow.Height + layoutParamsPositionArrow.TopMargin + layoutParamsTimeline.TopMargin; imageViewArrowLeft.LayoutParameters = layoutParamsLeftArrow; imageViewArrowLeft.SetOnTouchListener(this); // Setup right arrow. RelativeLayout.LayoutParams layoutParamsRightArrow = new RelativeLayout.LayoutParams(Resources.GetDimensionPixelSize(Resource.Dimension.frames_video_maxsize) / 2, Resources.GetDimensionPixelSize(Resource.Dimension.frames_video_maxsize)); this.maxArrowPositionRight = this.timelineEnd; this.rightArrowX = this.maxArrowPositionRight; layoutParamsRightArrow.LeftMargin = maxArrowPositionRight; layoutParamsRightArrow.AddRule(LayoutRules.Below, Resource.Id.layout_video_view); layoutParamsRightArrow.TopMargin = layoutParamsPositionArrow.Height + layoutParamsPositionArrow.TopMargin + layoutParamsTimeline.TopMargin; imageViewArrowRight.LayoutParameters = layoutParamsRightArrow; imageViewArrowRight.SetOnTouchListener(this); // Add video to timeline. timelineView.SetVideo(uri); }