xamarin.form RelativeLayout
阿新 • • 發佈:2018-11-28
<ContentPage.Content> <RelativeLayout> <BoxView Color="Red" RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent,Property=Height,Factor=0.15,Constant=0}" RelativeLayout.XConstraint="{ConstraintExpression Type=RelativeToParent,Property=Width,Factor=0.15,Constant=0}" RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent,Property=Height,Factor=0.7,Constant=0}" RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent,Property=Width,Factor=0.7,Constant=0}" > </BoxView> </RelativeLayout> </ContentPage.Content>
可以設定4個屬性YConstraint,XConstraint,HeightConstraint,WidthConstraint
其中Contant是按照畫素點偏移的值,Type是針對哪個控制元件的偏移有RelativeToParent和RelativeToView,ElementName是針對哪個控制元件做偏移只有在ReleativeToView的時候用到,Property是針對控制元件的哪個屬性做偏移,
ConstraintExpression Type=RelativeToParent,Property=Height,Factor=0.15,Constant=0的意思是針對上層元素的高度,用高度*0.15+0的實際位置
BoxView b = new BoxView() { BackgroundColor = Color.Red }; relative1.Children.Add(b , Constraint.RelativeToParent((parent) => { return parent.X * 0.5; }) , Constraint.RelativeToParent((parent) => { return parent.Y * 0.5; }) , Constraint.RelativeToParent((parent) => { return parent.X * 0.5; }) , Constraint.RelativeToParent((parent) => { return parent.X * 0.5; }) );