コード例 #1
0
        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);
        }