1. 程式人生 > >xamarin.form RelativeLayout

xamarin.form RelativeLayout

<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;
            })
             );