Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Importante
Essa documentação é considerada herdada. Para obter informações e recursos abrangentes relacionados a layouts de contêiner em Cartões Adaptáveis, visite o hub de documentação de Cartões Adaptáveis.
O hub de documentação de Cartões Adaptáveis oferece documentação de referência completa e mais recente, um Designer de Cartão Adaptável atualizado, exemplos de JSON internos, práticas recomendadas de design e um histórico de versão detalhado dos recursos do Cartão Adaptável. Para obter mais informações, consulte introdução ao hub de documentação de Cartões Adaptáveis e novas atualizações de Cartões Adaptáveis.
Contêineres como Container, Column, TableCellou um Cartão Adaptável dão suporte a três tipos diferentes de layouts:
- Layout.Stack empilha elementos uns sobre os outros e é o layout padrão.
- Layout.Flow espalha elementos horizontalmente e os encapsula em várias linhas, conforme necessário.
-
Layout.AreaGrid divide o contêiner em nomeado
areasno qual os elementos podem ser colocados por meio dagrid.areapropriedade que pode ser definida em qualquer elemento.
Layout.Stack
Um layout que empilha elementos uns sobre os outros.
Layout.Stack é o layout padrão usado por um Cartão Adaptável e todos os contêineres.
Estas são as propriedades do Layout.Stack layout:
| Nome | Obrigatório | Tipo | Descrição |
|---|---|---|---|
type |
✔️ | Cadeia de caracteres | Deve ser Layout.Stack. |
targetWidth |
Cadeia de caracteres | Controla a largura do card para a qual o layout deve ser usado. Se targetWidth não for especificado, o elemento será renderizado em todas as larguras de card. O uso targetWidth possibilita a criação de cartões responsivos que adaptam seu layout ao espaço horizontal disponível.Para obter mais informações, consulte Layout responsivo do Cartão Adaptável. Valores permitidos: VeryNarrow, Narrow, Standard, WideatMost:NarrowatLeast:VeryNarrowatLeast:NarrowatLeast:StandardatMost:VeryNarrow, atMost:Standard, , atLeast:WideatMost:Wide |
Layout.Flow
Um layout que espalha elementos horizontalmente e os encapsula em várias linhas, conforme necessário.
Use Layout.Flow para dispor listas de elementos, como imagens, sem ter que se preocupar com a quantidade de espaço horizontal disponível. A largura e o alinhamento dos elementos podem ser ajustados conforme desejado. Cada linha obtém automaticamente a altura apropriada, e o espaçamento entre colunas e linhas é configurável e imposto automaticamente.
Exemplos
Alinhamento superior esquerdo
Centralizado horizontal e verticalmente
Sempre preencha o espaço disponível em cada linha
Dica
Não use a maxItemWidth propriedade com itemFit: fill. Por definição, impede que os itens excedam uma certa largura, o que é incompatível com o preenchimento do espaço disponível restante em uma linha, maxItemWidth ampliando ligeiramente cada elemento nessa linha. Em vez disso, use a itemWidth propriedade.
Estas são as propriedades do Layout.Stack layout:
| Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
type |
Cadeia de caracteres | Deve ser Layout.Stack. |
|
columnSpacing |
Cadeia de caracteres | "Padrão" | O espaço entre os itens. Valores permitidos: None, ExtraSmall, Small, DefaultMedium, Large, , ExtraLarge,Padding |
horizontalItemsAlignment |
Cadeia de caracteres | "Centro" | Controla como o conteúdo do contêiner deve ser alinhado horizontalmente. Valores permitidos: Left, Center, Right |
itemFit |
Cadeia de caracteres | "Ajustar" | Controla como o item deve caber dentro do contêiner. Valores permitidos: Fit, Fill |
itemWidth |
Cadeia de caracteres | A largura, em pixels, de cada item, no <number>px formato. Não deve ser usado se maxItemWidth ou , minItemWidthou ambos estiverem definidos.Valores permitidos: <number>px |
|
maxItemWidth |
Cadeia de caracteres | A largura máxima, em pixels, de cada item, no <number>px formato. Não deve ser usado se itemWidth estiver definido.Valores permitidos: <number>px |
|
minItemWidth |
Cadeia de caracteres | 0 | A largura mínima, em pixels, de cada item, no <number>px formato. Não deve ser usado se itemWidth estiver definido.Valores permitidos: <number>px |
rowSpacing |
Cadeia de caracteres | Default |
O espaço entre as linhas de itens. Valores permitidos: None, ExtraSmall, Small, DefaultMedium, Large, , ExtraLarge,Padding |
targetWidth |
Cadeia de caracteres | Controles para qual largura de card o layout deve ser usado. Se targetWidth não for especificado, o elemento será renderizado em todas as larguras de card. O uso targetWidth possibilita a criação de cartões responsivos que adaptam seu layout ao espaço horizontal disponível.Para obter mais informações, consulte Layout responsivo do Cartão Adaptável. Valores permitidos: VeryNarrow, Narrow, Standard, WideatMost:NarrowatLeast:VeryNarrowatLeast:NarrowatLeast:StandardatMost:VeryNarrow, atMost:Standard, , atLeast:WideatMost:Wide |
|
verticalItemsAlignment |
Cadeia de caracteres | Top |
Controla como o conteúdo do contêiner deve ser alinhado verticalmente. Valores permitidos: Top, Center, Bottom |
Layout.AreaGrid
Um layout que divide um contêiner em áreas nomeadas nas quais os elementos podem ser colocados.
Use Layout.AreaGrid para organizar elementos em um Cartão Adaptável, Container, Columnou TableCell em uma grade.
Layout.AreaGridé útil para criar cartões responsivos: defina vários Layout.AreaGrid layouts em um único contêiner e direcione-os em diferentes larguras de card para alternar automaticamente de um layout para outro em tempo de execução de acordo com a largura disponível. Para atribuir um elemento no contêiner a uma área específica na grade, sua grid.area propriedade deve ser definida.
Exemplo
Estas são as propriedades do Layout.AreaGrid layout:
| Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
type |
Cadeia de caracteres | Deve ser Layout.AreaGrid. |
|
areas |
Matriz de objetos | As áreas no layout da grade. Valores permitidos: GridArea |
|
columns |
Matriz de números ou cadeias de caracteres | As colunas no layout de grade, definidas como uma porcentagem da largura disponível ou em pixels usando o <number>px formato. |
|
columnSpacing |
Cadeia de caracteres | Default |
O espaço entre as colunas. Valores permitidos: None, ExtraSmall, Small, DefaultMedium, , Large, , ExtraLarge. Padding |
rowSpacing |
Cadeia de caracteres | Default |
O espaço entre linhas. Valores permitidos: None, ExtraSmall, Small, DefaultMedium, , Large, , ExtraLarge. Padding |
targetWidth |
Cadeia de caracteres | Controles para qual largura de card o layout deve ser usado. Não deve ser usado se itemWidth estiver definido. Se targetWidth não for especificado, o elemento será renderizado em todas as larguras de card. O uso targetWidth possibilita a criação de cartões responsivos que adaptam seu layout ao espaço horizontal disponível.Para obter mais informações, consulte Layout responsivo do Cartão Adaptável. Valores permitidos: VeryNarrow, Narrow, Standard, WideatMost:NarrowatLeast:VeryNarrowatLeast:NarrowatLeast:StandardatMost:VeryNarrow, atMost:Standard, , atLeast:WideatMost:Wide |
GridArea
Define uma área em um Layout.AreaGrid layout.
Estas são as propriedades da GridArea matriz:
| Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
columns |
Número | 1 | O índice da coluna inicial da área. Os índices da coluna começam em 1. |
columnSpan |
Número | 1 | Define quantas colunas a área deve abranger. |
name |
Cadeia de caracteres | O nome da área. Para colocar um elemento nesta área, defina sua grid.area propriedade para corresponder ao nome da área. |
|
row |
Número | 1 | O índice da linha inicial da área. Os índices de linha começam em 1. |
rowSpan |
Número | 1 | Define quantas linhas a área deve abranger. |
Usando layouts de contêiner para implementar layout responsivo
Os layouts de contêiner podem ser usados para implementar layouts responsivos, pois é possível associar vários layouts a um único contêiner, cada um dedicado a uma largura de card específica. No tempo de execução, o layout apropriado é usado automaticamente para organizar os elementos na largura disponível.
Por exemplo, se você quiser definir um card com um layout típico em que:
- Há uma imagem à esquerda
- Texto à direita da imagem
No entanto, o texto deve aparecer abaixo da imagem quando não houver espaço horizontal suficiente.
Isso pode ser feito usando Layout.AreaGrid:
Como funciona
Aqui, a layouts propriedade é definida em todo o card:
{
"type": "Layout.AreaGrid",
"targetWidth": "atLeast:standard",
"columns": [
60
],
"areas": [
{
"name": "image"
},
{
"name": "text",
"column": 2
}
]
}
O que significa:
- Organize os elementos no card em um layout de grade somente quando a largura do card for pelo menos
standard(o que corresponde à largura típica de um card em um chat do Teams, por exemplo).- Se a largura do card for menor que
standard, use o layout padrão,Layout.Stack.
- Se a largura do card for menor que
- O layout de grade tem pelo menos uma coluna que deve usar 60% do espaço disponível. A grade pode ter outras colunas (dependendo de como
areassão definidas), mas como não estão definidas, cada uma compartilha uma parte igual do espaço restante. - Duas áreas são definidas:
- Um para a imagem, que mapeia para a primeira coluna e a primeira linha da grade.
- Um para o texto, que abrange a segunda coluna e a primeira linha.
Dica
Não é necessário especificar a layouts propriedade. Quando nenhum layout explícito for especificado, o contêiner usará um Layout.Stack layout.
Aos elementos no corpo do card é atribuída uma área de grade através da grid.area propriedade:
{
"type": "Container",
"grid.area": "textArea", // The text container is assigned to the textArea
"items": [
...
]
}
{
"type": "Image",
"url": "...",
"grid.area": "imageArea", // The Image is assigned to the imageArea
"style": "RoundedCorners",
"targetWidth": "atLeast:narrow" // Also notice the image is set to not display at all at the "very narrow" width
}
Exemplo de código
| Nome | Descrição | .Node.js | .NET |
|---|---|---|---|
| Formatação de cartões | Exemplo que demonstra formatação diferente suportada em cartões usando bot. | View | Exibir |