Extensões de AbsoluteLayout

As extensões AbsoluteLayout fornecem uma série de métodos de extensão que ajudam a posicionar Views em AbsoluteLayouts.

As extensões oferecem os seguintes métodos:

LayoutBounds

O LayoutBounds método de extensão permite-lhe definir a posição e o tamanho de a View num AbsoluteLayout. Para mais detalhes, consulte a documentação Microsoft.

LayoutFlags

O LayoutFlags método de extensão permite-lhe definir um flag que indica que os limites do layout, a posição e os valores de tamanho para um filho são proporcionais ao tamanho do AbsoluteLayout. Para mais detalhes, consulte a documentação Microsoft.

Syntax

Note-se que ambos os métodos LayoutBounds e LayoutFlags podem ser usados em combinação para determinar se a posição e o tamanho do View é são absolutos ou proporcionais.

using CommunityToolkit.Maui.Markup;
using Microsoft.Maui.Layouts;

public class AbsoluteLayoutSamplePage : ContentPage
{
    public AbsoluteLayoutSamplePage()
    {
        Content = new AbsoluteLayout
        {
            Children =
            {
                new BoxView
                {
                    Color = Colors.Blue,
                }.LayoutFlags(AbsoluteLayoutFlags.PositionProportional)
                 .LayoutBounds(0.5, 0, 100, 25),

                new BoxView
                {
                    Color = Colors.Green,
                    WidthRequest = 25,
                    HeightRequest = 100,
                }.LayoutFlags(AbsoluteLayoutFlags.PositionProportional)
                 .LayoutBounds(0, 0.5),

                new BoxView
                {
                    Color = Colors.Pink,
                }.LayoutFlags(AbsoluteLayoutFlags.PositionProportional, AbsoluteLayoutFlags.SizeProportional)
                 .LayoutBounds(0, 0.5, 0.25, 0.25),

                new BoxView
                {
                    Color = Colors.Red,
                    WidthRequest = 25,
                    HeightRequest = 100,
                }.LayoutFlags(AbsoluteLayoutFlags.PositionProportional)
                 .LayoutBounds(new Point(1, 0.5)),

                new BoxView
                {
                    Color = Colors.Grey,
                }.LayoutFlags(AbsoluteLayoutFlags.PositionProportional)
                 .LayoutBounds(new Point(0.5, 1), new Size(100, 25)),

                new BoxView
                {
                    Color = Colors.Tan,
                }.LayoutFlags(AbsoluteLayoutFlags.All)
                 .LayoutBounds(new Rect(0.5, 0.5, 1d / 3d, 1d / 3d))
            }
        };
    }
}

Exemplos

Pode encontrar um exemplo destes métodos de extensão em ação ao longo do .NET MAUI Community Toolkit Sample Application.

API

Pode encontrar o código-fonte dos métodos de extensão AbsoluteLayout no repositório do GitHub do .NET MAUI Community Toolkit.