Пример #1
0
        public IEnumerable <FluentLayout> Generate(UIView container, params UIView[] views)
        {
            WeightedWidthColumn firstWeightedColumn = null;
            UIView firstWeightedView = null;

            for (var i = 0; i < views.Length; i++)
            {
                var view   = views[i];
                var column = GetColumn(i);

                if (i == 0)
                {
                    yield return(view.AtLeftOf(container, LeftMargin));
                }
                else
                {
                    yield return(view.ToRightOf(views[i - 1], HInterspacing));
                }

                if (i == views.Length - 1)
                {
                    yield return(view.AtRightOf(container, RightMargin));
                }

                var weightedColumn = column as WeightedWidthColumn;
                if (weightedColumn != null)
                {
                    if (firstWeightedColumn == null)
                    {
                        firstWeightedColumn = weightedColumn;
                        firstWeightedView   = view;
                    }
                    else
                    {
                        var multiplier = weightedColumn.Weight / firstWeightedColumn.Weight;
                        yield return(view.WithRelativeWidth(firstWeightedView, multiplier));
                    }
                }

                var fixedColumn = column as FixedWidthColumn;
                if (fixedColumn != null)
                {
                    yield return(view.Width().EqualTo(fixedColumn.Width));
                }
            }
        }
Пример #2
0
 public void ColumnWeight(int position, float weight)
 {
     _columnDefinitions[position] = new WeightedWidthColumn(weight);
 }
Пример #3
0
 public void ColumnWeight(int position, float weight)
 {
     _columnDefinitions[position] = new WeightedWidthColumn(weight);
 }