Ejemplo n.º 1
0
        public override SizeRequest GetDesiredSize(double widthConstraint, double heightConstraint)
        {
            mPVolumeView.SizeToFit();
            var s = mPVolumeView.Bounds.Size;

            return(new SizeRequest(new Size(widthConstraint, heightConstraint), new Size(s.Width, s.Height)));
        }
Ejemplo n.º 2
0
                public void LayoutPortrait()
                {
                    var bounds = Bounds;

                    bounds.Height -= BottomOffset;
                    backgroundBluredView.Frame = bounds.WithHeight(bounds.Height * 2);
                    slider.SizeToFit();
                    var frame = slider.Frame;

                    frame.X      = frame.Y = 0;
                    frame.Y      = (frame.Height / 2 + 1) * -1;
                    frame.Width  = bounds.Width;
                    slider.Frame = frame;

                    var y = frame.Bottom;

                    frame           = timeLabel.Frame;
                    frame.X         = padding;
                    frame.Y         = y;
                    timeLabel.Frame = frame;

                    frame.X = bounds.Width - frame.Width - padding;
                    remainingTimeLabel.Frame = frame;

                    y = frame.Bottom;

                    var height = bounds.Height - y;
                    var fourth = height / 4 - padding;

                    y -= padding;

                    var offset = MaxHeight - Frame.Height;

                    frame           = new CGRect(padding, y + offset, bounds.Width - 2 * padding, fourth);
                    labelView.Frame = frame;

                    y = frame.Bottom;
                    var frameTop = frame.Top;

                    frame.Y = y - offset - frame.Height;
                    if (frame.Bottom > frameTop)
                    {
                        frame.Y += frame.Bottom - frameTop;
                    }
                    var center = frame.GetCenter();

                    playButton.Center = center;

                    const float centerDiff = 65;

                    center.X -= centerDiff;
                    previousButton.Center = center;
                    center.X -= centerDiff;

                    thumbsDownButton.Center = center;

                    center    = playButton.Center;
                    center.X += centerDiff;

                    nextButton.Center = center;
                    center.X         += centerDiff;

                    thumbsUpButton.Center = center;

                    frame.Y += fourth + padding;

                    center = frame.GetCenter();

                    y = frame.Bottom;

                    //Volume views have sizing issues.  Let them choose their own heights
                    volumeView.SizeToFit();
                    frame.Height      = volumeView.Frame.Height;
                    volumeView.Frame  = frame;
                    volumeView.Center = center;

                    frame.Height = fourth;
                    frame.Y      = y + padding * 2 + smallPadding;



                    center = frame.GetCenter();
                    var x       = center.X = 20;
                    var right   = bounds.Width - 20;
                    var spacing = (right - x) / 3;

                    shareButton.Center = center;
                    center.X          += spacing;

                    shuffleButton.Center = center;

                    center.X           += spacing;
                    repeatButton.Center = center;

                    center.X          = right;
                    menuButton.Center = center;
                }