/// [Draft] Enumeration for the alignment of the linear layout items
/// </summary>
/// <since_tizen> 6 </since_tizen>
- [Obsolete("Deprecated in API9, will be removed in API11. Please use HorizontalAlignment and VerticalAlignment instead!")]
+ [Obsolete("This has been deprecated in API9 and will be removed in API11. Use HorizontalAlignment and VerticalAlignment instead.")]
public enum Alignment
{
/// <summary>
/// [Draft] Get/Set the alignment in the layout
/// </summary>
/// <since_tizen> 6 </since_tizen>
- [Obsolete("Deprecated in API9, will be removed in API11. Please use HorizontalAlignment and VerticalAlignment properties instead!")]
+ [Obsolete("This has been deprecated in API9 and will be removed in API11. Use HorizontalAlignment and VerticalAlignment properties instead.")]
public LinearLayout.Alignment LinearAlignment
{
get
float childWeight = childLayout.Owner.Weight;
Extents childMargin = childLayout.Margin;
float childMarginWidth = childMargin.Start + childMargin.End;
- float childMarginHeight = childMargin.Top + childMargin.Bottom;
bool useRemainingWidth = (childDesiredWidth == 0) && (childWeight > 0);
if ((childDesiredWidth == LayoutParamPolicies.MatchParent) || (useRemainingWidth))
{
childState.heightState = MeasuredSize.StateType.MeasuredSizeTooSmall;
}
-
- float childMeasuredHeight = childLayout.MeasuredHeight.Size.AsDecimal();
- if (childMeasuredHeight < 0)
- {
- maxHeight = Math.Max(maxHeight, childMarginHeight);
- }
- else
- {
- maxHeight = Math.Max(maxHeight, childMeasuredHeight + childMarginHeight);
- }
} // 1ST PHASE foreach
totalLength = Math.Max(totalLength, totalLength + CellPadding.Width * (childrenCount - 1) + Padding.Start + Padding.End);
}
}
}
- } // 3RD PHASE foreach
+ }
+ }
+ // 3RD PHASE foreach
+
+ // Decide the max height among children.
+ foreach (var childLayout in LayoutChildren)
+ {
+ if (!childLayout.SetPositionByLayout)
+ {
+ continue;
+ }
+
+ Extents childMargin = childLayout.Margin;
+ float childMarginHeight = childMargin.Top + childMargin.Bottom;
+ float childMeasuredHeight = childLayout.MeasuredHeight.Size.AsDecimal();
+
+ if (childMeasuredHeight < 0)
+ {
+ maxHeight = Math.Max(maxHeight, childMarginHeight);
+ }
+ else
+ {
+ maxHeight = Math.Max(maxHeight, childMeasuredHeight + childMarginHeight);
+ }
}
+ // Decide the max height compared with paddings and its suggested height.
maxHeight = Math.Max(maxHeight, maxHeight + (Padding.Top + Padding.Bottom));
maxHeight = Math.Max(maxHeight, SuggestedMinimumHeight.AsRoundedValue());
int childDesiredHeight = childLayout.Owner.HeightSpecification;
float childWeight = childLayout.Owner.Weight;
Extents childMargin = childLayout.Margin;
- float childMarginWidth = childMargin.Start + childMargin.End;
float childMarginHeight = childMargin.Top + childMargin.Bottom;
bool useRemainingHeight = (childDesiredHeight == 0) && (childWeight > 0);
// Child layout1 is MatchParent and its margin is 20. (This margin is not ad
// Child layout2 is MatchParent and its margin is 0.
// Then, child layout1's size is 30 and child layout2's size is 50.
- if ((childDesiredHeight == LayoutParamPolicies.WrapContent) || ((childDesiredHeight > 0) && (!useRemainingHeight)))
+ if ((childDesiredHeight == LayoutParamPolicies.WrapContent) || ((childDesiredHeight >= 0) && (!useRemainingHeight)))
{
MeasureChildWithMargins(childLayout, widthMeasureSpec, new LayoutLength(0), heightMeasureSpec, new LayoutLength(0));
{
childState.heightState = MeasuredSize.StateType.MeasuredSizeTooSmall;
}
-
- float childMeasuredWidth = childLayout.MeasuredWidth.Size.AsDecimal();
- if (childMeasuredWidth < 0)
- {
- maxWidth = Math.Max(maxWidth, childMarginWidth);
- }
- else
- {
- maxWidth = Math.Max(maxWidth, childMeasuredWidth + childMarginWidth);
- }
} // 1ST PHASE foreach
totalLength = Math.Max(totalLength, totalLength + CellPadding.Height * (childrenCount - 1) + Padding.Top + Padding.Bottom);
}
}
}
- } // 3RD PHASE foreach
+ }
+ } // 3RD PHASE foreach
+
+ // Decide the max width among children.
+ foreach (var childLayout in LayoutChildren)
+ {
+ if (!childLayout.SetPositionByLayout)
+ {
+ continue;
+ }
+
+ Extents childMargin = childLayout.Margin;
+ float childMarginWidth = childMargin.Start + childMargin.End;
+ float childMeasuredWidth = childLayout.MeasuredWidth.Size.AsDecimal();
+
+ if (childMeasuredWidth < 0)
+ {
+ maxWidth = Math.Max(maxWidth, childMarginWidth);
+ }
+ else
+ {
+ maxWidth = Math.Max(maxWidth, childMeasuredWidth + childMarginWidth);
+ }
}
+ // Decide the max width compared with paddings and its suggested width.
maxWidth = Math.Max(maxWidth, maxWidth + (Padding.Start + Padding.End));
maxWidth = Math.Max(maxWidth, SuggestedMinimumWidth.AsRoundedValue());