Partilhar via


Extensões AbsoluteLayout

As extensões AbsoluteLayout fornecem uma série de métodos de extensão que dão suporte ao posicionamento Views em AbsoluteLayouts.

As extensões oferecem os seguintes métodos:

LayoutBounds

O método de extensão LayoutBounds permite que você defina a posição e o tamanho de uma View em um AbsoluteLayout. Para obter mais detalhes, veja a documentação da Microsoft.

LayoutFlags

O método de extensão LayoutFlags permite que você defina um sinalizador que indica que os valores de posição e tamanho dos limites de layout para um filho são proporcionais ao tamanho do AbsoluteLayout. Para obter mais detalhes, veja a documentação da Microsoft.

Sintaxe

Observe que os métodos LayoutBounds e LayoutFlags podem ser usados em combinação para determinar se a posição e o tamanho da 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

Encontre um exemplo desses métodos de extensão em ação no Aplicativo de exemplo do Kit de Ferramentas da Comunidade do .NET MAUI.

API

Encontre o código-fonte dos métodos de extensão AbsoluteLayout no repositório do GitHub do Kit de Ferramentas da Comunidade do .NET MAUI.