Home > database >  Since RelativeLayeout is not recommended to use in .Net Maui, what techniques would replace it?
Since RelativeLayeout is not recommended to use in .Net Maui, what techniques would replace it?

Time:08-30

I used Factor of RelativeLayout in Xamarin.Forms a lot, this way my app UI scaled properly on any device. RelativeLayout is not recommended for use anymore and no replacement offered, so I wonder what would be techniques to indicate for example I want the xaml element to occupy 80% of it's parent element (container)? Should I calculate real width/height of the container in the runtime, depending on the device resolution? Or there is a better solution? I just can find nothing close in .Net Maui to what RelativeLayout Factor allowed me to do in Xamarin.Forms.

CodePudding user response:

I fear right now there is no way except Creating your own derivate of a Relative Layout. I've got the same problem of converting a Xamarin App to MAUI. There we did use a relative Layout to display various machines at their respective positions inside a building.

I found a few examples on how to create a custom layout here.

I would not recommend using the compatibility namespace. For me it makes problems and upon activating it, some of my page content is no longer displayed.

Hope this helps at least a little.

CodePudding user response:

AbsoluteLayout and RelativeLayout now exist only in the compatibility namespace, you can update your code to use them by adding the new namespace, and prefixing your XAML references:

<ContentPage
    xmlns:cmp="clr-namespace:Microsoft.Maui.Controls.Compatibility;assembly=Microsoft.Maui.Controls"
    ...
    >
    <cmp:AbsoluteLayout>
        <BoxView 
            Color="Red"
            cmp:RelativeLayout.XConstraint="{cmp:ConstraintExpression Type=Constant, Constant=0}"
            cmp:RelativeLayout.YConstraint="{cmp:ConstraintExpression Type=Constant, Constant=0}" />
    </cmp:AbsoluteLayout>
</ContentPage>
  • Related