Partilhar via


Xamarin.Forms Layouts

Xamarin.Forms Os layouts são usados para compor controles de interface do usuário em estruturas visuais.

As Layout classes e Layout<T> em Xamarin.Forms são subtipos especializados de modos de exibição que atuam como contêineres para modos de exibição e outros layouts. A Layout classe em si deriva de View. Uma Layout derivada normalmente contém lógica para definir a posição e o tamanho dos elementos filho em Xamarin.Forms aplicativos.

Xamarin.Forms Tipos de layout

As classes que derivam de Layout podem ser divididas em duas categorias:

Layouts com conteúdo único

Essas classes derivam de Layout, que define Padding e IsClippedToBounds propriedades:

Tipo Descrição Aparência
ContentView ContentView Contém um único filho que é definido com a Content propriedade. A Content propriedade pode ser definida como qualquer View derivada, incluindo outras Layout derivadas. ContentView é usado principalmente como um elemento estrutural e serve como uma classe base para Frame.

Guia de documentação da / API
Exemplo de ContentView
Código C# para esta página / Página XAML
Frame A Frame classe deriva de e exibe uma borda, ou quadro, ao redor de ContentView seu filho. A Frame classe tem um valor padrão Padding de 20 e também define BorderColor, CornerRadiuse HasShadow propriedades.

Guia de documentação da / API
Exemplo de quadro
Código C# para esta página / Página XAML
ScrollView ScrollView é capaz de rolar seu conteúdo. Defina a Content propriedade como um modo de exibição ou layout muito grande para caber na tela. (O conteúdo de um ScrollView é muitas vezes um StackLayout.) Defina a propriedade para indicar se a Orientation rolagem deve ser vertical, horizontal ou ambas.

Guia de documentação da / API
Exemplo de ScrollView
Código C# para esta página / Página XAML
TemplatedView TemplatedView exibe conteúdo com um modelo de controle e é a classe base para ContentView.

Guia de documentação da / API
Exemplo de TemplatedView
ContentPresenter ContentPresenter é um gerenciador de layout para modos de exibição de modelo, usado dentro de um ControlTemplate para marcar onde o conteúdo a ser apresentado aparece.

Guia de documentação da / API
Exemplo de ContentPresenter

Layouts com vários filhos

Essas classes derivam de Layout<View>:

Tipo Descrição Aparência
StackLayout StackLayout posiciona elementos filho em uma pilha horizontal ou verticalmente com base na Orientation propriedade. A Spacing propriedade controla o espaçamento entre os filhos e tem um valor padrão de 6.

Guia de documentação da / API
Exemplo de StackLayout
Código C# para esta página / Página XAML
Grid Grid Posiciona seus elementos filho em uma grade de linhas e colunas. A posição de uma criança é indicada usando as propriedadesRow anexadas, Column, RowSpane ColumnSpan.

Guia de documentação da / API
Exemplo de grade
Código C# para esta página / Página XAML
AbsoluteLayout AbsoluteLayout posiciona elementos filho em locais específicos em relação ao pai. A posição de uma criança é indicada usando as propriedadesLayoutBounds anexadas e LayoutFlags. An AbsoluteLayout é útil para animar as posições dos pontos de vista.

Guia de documentação da / API
Exemplo de AbsoluteLayout
Código C# para esta página / Página XAML com code-behind
RelativeLayout RelativeLayout posiciona os elementos da criança em relação a RelativeLayout si mesmo ou a seus irmãos. A posição de uma criança é indicada usando as propriedades anexadas definidas como objetos do tipo Constraint e BoundsConstraint.

Guia de documentação da / API
Exemplo de RelativeLayout
Código C# para esta página / Página XAML
FlexLayout FlexLayout é baseado no CSS Flexible Box Layout Module, comumente conhecido como flex layout ou flex-box. FlexLayout define seis propriedades vinculáveis e cinco propriedades vinculáveis anexadas que permitem que os filhos sejam empilhados ou encapsulados com muitas opções de alinhamento e orientação.

Guia de documentação da / API
Exemplo de FlexLayout
Código C# para esta página / Página XAML