SlideShare uma empresa Scribd logo
1 de 18
Embarcadero Technologies Copyright 2016
Compreendendo e Utilizando
FireMonkey Layouts
Fernando Rizzato
Lead Software Consultant, Latin America
Embarcadero Technologies Copyright 2016
AGENDA
 Âncoras
 Alinhamentos
 Espaçamento (Margins e
Padding)
 TFlowLayout
 TGridLayout
 TGridPanelLayout
 TScaledLayout
 TScrollBox
 TTabControl
 Frames
 TMultiView
Embarcadero Technologies Copyright 2016
ÂNCORAS
 Posição relativa a uma ou mais bordas do controle pai
 Top
 Bottom
 Left
 Right
 O padrão é Top, Left
 Move-se de acordo com o redimensionamento do pai
 Cada controle possui de 0 a 4 âncoras
Embarcadero Technologies Copyright 2016
ALINHAMENTOS
 Alinha os controles dentro do pai, estabelecendo
âncoras, tamanho e posição
 O padrão é None
 Ancorar e preencher ao longo das bordas
 Top, Bottom, Left, Right
 Preenche o pai mas preservando o aspecto
 Fit, FitLeft, FitRight
 Encha ao longo de um lado do pai (prioridade sobre
os outros alinhamentos de borda)
 MostBottom, MostTop, MostLeft, MostRight
Embarcadero Technologies Copyright 2016
ALINHAMENTOS
 Redimensionar em apenas um eixo (width ou height)
 Vertical, VertCenter, Horizontal, HorzCenter
 Variados
 Client – Preenche a área do cliente, menos outros filhos
 Center – Sem redimensionamento, apenas centro
 Contents – Preenche a área cliente, ignorando outros
filhos
 Scale – Redimensiona e move-se para manter a posição
e tamanho relativo
Embarcadero Technologies Copyright 2016
ESPAÇAMENTO - MARGENS E PREENCHIMENTOS
 Margins
 Espaçamento para os controles irmãos
(e arestas pais)
 Padding
 Espaçamento para os filhos
Embarcadero Technologies Copyright 2016
TFLOWLAYOUT
 Organizar controles filho como palavras
em um parágrafo
 Controles organizados na ordem em que
são adicionados ao layout
 Use “Move to Front” ou “Send to Back”
para reordenar
 Use TFlowLayoutBreak para forçar
quebras de linha
Embarcadero Technologies Copyright 2016
TGRIDLAYOUT
 Organiza controles filhos em um grid com
tamanhos iguais
 Controla o fluxo através da rede conforme
o pai redimensiona
 Use as
propriedades ItemWidth e ItemHeight
 Personalize margens de controles
individuais
Embarcadero Technologies Copyright 2016
TGRIDPANELLAYOUT
 Cria uma grade de linhas e colunas
específicas
 Não altera a âncora ou o tamanho do filho
 Cada célula pode conter um controle filho
 Você define a altura, largura, alinhar e
âncoras dos filhos
 Os controles podem abranger várias células
Embarcadero Technologies Copyright 2016
TSCALEDLAYOUT
 Estica controles filho conforme ele é redimensionado
em tempo de execução
 Não respeita o aspect ratio dos controles
 Configure o Align do TScaledLayout para Fit para
manter o aspect ratio
 Alguns estilos tem melhor zoom que outros
 Tem propriedades para OriginalWidth e
OriginalHeight – Compare ao Width e Height para
determinar a escala
Embarcadero Technologies Copyright 2016
TSCROLLBOX
 Permite que os filhos ocupem mais espaço do que o pai
 Normalmente ancorada ao Client
 Somente ancora o filho no Top & Left (padrão)
 Rolar para ver os filhos adicionais
 Veja também:
 TVertScrollBox
 THorzScrollBox
 TFramedScrollBox
 TFramedVertScrollBox
Embarcadero Technologies Copyright 2016
TTABCONTROL
 Controle para agrupar os controles filhos em guias
 Guias estão em uma pilha com uma visível cada vez
 TabPosition := PlatformDefault para usar o
comportamento padrão da plataforma
 TabPosition := None para ocultar o navegador
 Use TTabChangeAction para animar as transições
Embarcadero Technologies Copyright 2016
FRAMES
 Partes reutilizáveis de interface de usuário
 Inclui
 O layout
 Todos os eventos
 Todo o código da Unit
 Crie 1 ou mais frames, e então reposicione baseado no
layout atual
 Exemplos:
 TTabControl para Smartphone
 Lado-a-Lado para Tablets
Embarcadero Technologies Copyright 2016
TMULTIVIEW
 Um ”super panel” com múltiplos modos
 Modos suportados
 PlatformDefault
 Drawer
 NavigationPane
 Panel
 Popover
 Custom
 MasterPane, DetailPane e MasterButton configurável
 PlatformDefault adapta a plataforma e orientação
 Custom suporta layout e comportamento definido pelo usuário
Embarcadero Technologies Copyright 2016 15
Mãos a Obra!
Embarcadero Technologies Copyright 2016
Recursos Adicionais - 1/2
 Estratégias de Layout FireMonkey
 http://embt.co/fmxlayouts
 Layouts
 http://embt.co/tflowlayout
 http://embt.co/tgridlayout
 http://embt.co/tgridpanellayout
 http://embt.co/tscaledlayout
 http://embt.co/tscrollbox
Embarcadero Technologies Copyright 2016
Recursos Adicionais - 2/2
 Tecnologias Relacionadas
 http://embt.co/fmxanchors
 http://embt.co/fmxalignlayout
 http://embt.co/fmxmargins
 http://embt.co/fmxmargins
 Outras Opções de Layouts
 http://embt.co/usingttabcontrol
 http://embt.co/workingwithframes
 http://embt.co/usingmultiview
Embarcadero Technologies Copyright 2016 18
OBRIGADO!
Perguntas?
Você pode me encontrar em:
@FernandoRizzato
fernando.rizzato@embarcadero.com
Siga-nos em
fb.com/DelphiBrasil
fb.com/EmbarcaderoBR

Mais conteúdo relacionado

Mais de Fernando Rizzato

Todos os recursos do RAD Studio 10.3 RIO
Todos os recursos do RAD Studio 10.3 RIOTodos os recursos do RAD Studio 10.3 RIO
Todos os recursos do RAD Studio 10.3 RIOFernando Rizzato
 
Conoce lo nuevo en RAD Studio, C++ Builder y Delphi 10.2.2
Conoce lo nuevo en RAD Studio, C++ Builder y Delphi 10.2.2Conoce lo nuevo en RAD Studio, C++ Builder y Delphi 10.2.2
Conoce lo nuevo en RAD Studio, C++ Builder y Delphi 10.2.2Fernando Rizzato
 
Programa Acadêmico Embarcadero Gratuíto
Programa Acadêmico Embarcadero GratuítoPrograma Acadêmico Embarcadero Gratuíto
Programa Acadêmico Embarcadero GratuítoFernando Rizzato
 
Programa Acadêmico Embarcadero
Programa Acadêmico EmbarcaderoPrograma Acadêmico Embarcadero
Programa Acadêmico EmbarcaderoFernando Rizzato
 
O BACK-END PERFEITO PARA APLICAÇÕES DELPHI E C++ BUILDER
O BACK-END PERFEITO PARA APLICAÇÕES DELPHI E C++ BUILDERO BACK-END PERFEITO PARA APLICAÇÕES DELPHI E C++ BUILDER
O BACK-END PERFEITO PARA APLICAÇÕES DELPHI E C++ BUILDERFernando Rizzato
 
BERLIN 10.1 UPDATE 2 EDIÇÃO DE ANIVERSÁRIO
BERLIN 10.1 UPDATE 2 EDIÇÃO DE ANIVERSÁRIOBERLIN 10.1 UPDATE 2 EDIÇÃO DE ANIVERSÁRIO
BERLIN 10.1 UPDATE 2 EDIÇÃO DE ANIVERSÁRIOFernando Rizzato
 
Modelado y Arquitectura de Datos con ER/Studio
Modelado y Arquitectura de Datos con ER/StudioModelado y Arquitectura de Datos con ER/Studio
Modelado y Arquitectura de Datos con ER/StudioFernando Rizzato
 
Utilizando o Windows Runtime (WinRT) e o Universal Windows Platform (UWP) no ...
Utilizando o Windows Runtime (WinRT) e o Universal Windows Platform (UWP) no ...Utilizando o Windows Runtime (WinRT) e o Universal Windows Platform (UWP) no ...
Utilizando o Windows Runtime (WinRT) e o Universal Windows Platform (UWP) no ...Fernando Rizzato
 
Introducción a NoSQL con MongoDB y FireDAC
Introducción a NoSQL con MongoDB y FireDAC Introducción a NoSQL con MongoDB y FireDAC
Introducción a NoSQL con MongoDB y FireDAC Fernando Rizzato
 
Introdução a NoSQL com MongoDB e FireDAC
Introdução a NoSQL com MongoDB e FireDAC Introdução a NoSQL com MongoDB e FireDAC
Introdução a NoSQL com MongoDB e FireDAC Fernando Rizzato
 
Integración de servicios en la nube con REST/JSON
Integración de servicios en la nube con REST/JSONIntegración de servicios en la nube con REST/JSON
Integración de servicios en la nube con REST/JSONFernando Rizzato
 
Integração de Serviços Cloud com REST/JSON
Integração de Serviços Cloud com REST/JSON Integração de Serviços Cloud com REST/JSON
Integração de Serviços Cloud com REST/JSON Fernando Rizzato
 
LiveBindings - de Formulários Visuais ao Código
LiveBindings - de Formulários Visuais ao Código LiveBindings - de Formulários Visuais ao Código
LiveBindings - de Formulários Visuais ao Código Fernando Rizzato
 
Controle uma Aplicação Windows a partir de uma Aplicação Mobile com AppTether...
Controle uma Aplicação Windows a partir de uma Aplicação Mobile com AppTether...Controle uma Aplicação Windows a partir de uma Aplicação Mobile com AppTether...
Controle uma Aplicação Windows a partir de uma Aplicação Mobile com AppTether...Fernando Rizzato
 
WEBINAR DE LANÇAMENTO DELPHI, C++ BUILDER E RAD STUDIO 10.1 BERLIM
WEBINAR DE LANÇAMENTO DELPHI, C++ BUILDER E RAD STUDIO 10.1 BERLIMWEBINAR DE LANÇAMENTO DELPHI, C++ BUILDER E RAD STUDIO 10.1 BERLIM
WEBINAR DE LANÇAMENTO DELPHI, C++ BUILDER E RAD STUDIO 10.1 BERLIMFernando Rizzato
 
ER/Studio - A solução definitiva para design de dados, modelagem e colabora...
ER/Studio - A solução definitiva para design de dados, modelagem e colabora...ER/Studio - A solução definitiva para design de dados, modelagem e colabora...
ER/Studio - A solução definitiva para design de dados, modelagem e colabora...Fernando Rizzato
 
Aitana Launch - Seattle Overview - Español
Aitana Launch - Seattle Overview - EspañolAitana Launch - Seattle Overview - Español
Aitana Launch - Seattle Overview - EspañolFernando Rizzato
 
Aitana Launch - Seattle Overview - Português (br)
Aitana Launch - Seattle Overview - Português (br)Aitana Launch - Seattle Overview - Português (br)
Aitana Launch - Seattle Overview - Português (br)Fernando Rizzato
 
IoT em Ação: Criando um Moderno Sistema para Hospitais
IoT em Ação: Criando um Moderno Sistema para HospitaisIoT em Ação: Criando um Moderno Sistema para Hospitais
IoT em Ação: Criando um Moderno Sistema para HospitaisFernando Rizzato
 

Mais de Fernando Rizzato (20)

Todos os recursos do RAD Studio 10.3 RIO
Todos os recursos do RAD Studio 10.3 RIOTodos os recursos do RAD Studio 10.3 RIO
Todos os recursos do RAD Studio 10.3 RIO
 
Conoce lo nuevo en RAD Studio, C++ Builder y Delphi 10.2.2
Conoce lo nuevo en RAD Studio, C++ Builder y Delphi 10.2.2Conoce lo nuevo en RAD Studio, C++ Builder y Delphi 10.2.2
Conoce lo nuevo en RAD Studio, C++ Builder y Delphi 10.2.2
 
Programa Acadêmico Embarcadero Gratuíto
Programa Acadêmico Embarcadero GratuítoPrograma Acadêmico Embarcadero Gratuíto
Programa Acadêmico Embarcadero Gratuíto
 
Programa Acadêmico Embarcadero
Programa Acadêmico EmbarcaderoPrograma Acadêmico Embarcadero
Programa Acadêmico Embarcadero
 
RAD Studio 10.2 Tokyo
RAD Studio 10.2 TokyoRAD Studio 10.2 Tokyo
RAD Studio 10.2 Tokyo
 
O BACK-END PERFEITO PARA APLICAÇÕES DELPHI E C++ BUILDER
O BACK-END PERFEITO PARA APLICAÇÕES DELPHI E C++ BUILDERO BACK-END PERFEITO PARA APLICAÇÕES DELPHI E C++ BUILDER
O BACK-END PERFEITO PARA APLICAÇÕES DELPHI E C++ BUILDER
 
BERLIN 10.1 UPDATE 2 EDIÇÃO DE ANIVERSÁRIO
BERLIN 10.1 UPDATE 2 EDIÇÃO DE ANIVERSÁRIOBERLIN 10.1 UPDATE 2 EDIÇÃO DE ANIVERSÁRIO
BERLIN 10.1 UPDATE 2 EDIÇÃO DE ANIVERSÁRIO
 
Modelado y Arquitectura de Datos con ER/Studio
Modelado y Arquitectura de Datos con ER/StudioModelado y Arquitectura de Datos con ER/Studio
Modelado y Arquitectura de Datos con ER/Studio
 
Utilizando o Windows Runtime (WinRT) e o Universal Windows Platform (UWP) no ...
Utilizando o Windows Runtime (WinRT) e o Universal Windows Platform (UWP) no ...Utilizando o Windows Runtime (WinRT) e o Universal Windows Platform (UWP) no ...
Utilizando o Windows Runtime (WinRT) e o Universal Windows Platform (UWP) no ...
 
Introducción a NoSQL con MongoDB y FireDAC
Introducción a NoSQL con MongoDB y FireDAC Introducción a NoSQL con MongoDB y FireDAC
Introducción a NoSQL con MongoDB y FireDAC
 
Introdução a NoSQL com MongoDB e FireDAC
Introdução a NoSQL com MongoDB e FireDAC Introdução a NoSQL com MongoDB e FireDAC
Introdução a NoSQL com MongoDB e FireDAC
 
Integración de servicios en la nube con REST/JSON
Integración de servicios en la nube con REST/JSONIntegración de servicios en la nube con REST/JSON
Integración de servicios en la nube con REST/JSON
 
Integração de Serviços Cloud com REST/JSON
Integração de Serviços Cloud com REST/JSON Integração de Serviços Cloud com REST/JSON
Integração de Serviços Cloud com REST/JSON
 
LiveBindings - de Formulários Visuais ao Código
LiveBindings - de Formulários Visuais ao Código LiveBindings - de Formulários Visuais ao Código
LiveBindings - de Formulários Visuais ao Código
 
Controle uma Aplicação Windows a partir de uma Aplicação Mobile com AppTether...
Controle uma Aplicação Windows a partir de uma Aplicação Mobile com AppTether...Controle uma Aplicação Windows a partir de uma Aplicação Mobile com AppTether...
Controle uma Aplicação Windows a partir de uma Aplicação Mobile com AppTether...
 
WEBINAR DE LANÇAMENTO DELPHI, C++ BUILDER E RAD STUDIO 10.1 BERLIM
WEBINAR DE LANÇAMENTO DELPHI, C++ BUILDER E RAD STUDIO 10.1 BERLIMWEBINAR DE LANÇAMENTO DELPHI, C++ BUILDER E RAD STUDIO 10.1 BERLIM
WEBINAR DE LANÇAMENTO DELPHI, C++ BUILDER E RAD STUDIO 10.1 BERLIM
 
ER/Studio - A solução definitiva para design de dados, modelagem e colabora...
ER/Studio - A solução definitiva para design de dados, modelagem e colabora...ER/Studio - A solução definitiva para design de dados, modelagem e colabora...
ER/Studio - A solução definitiva para design de dados, modelagem e colabora...
 
Aitana Launch - Seattle Overview - Español
Aitana Launch - Seattle Overview - EspañolAitana Launch - Seattle Overview - Español
Aitana Launch - Seattle Overview - Español
 
Aitana Launch - Seattle Overview - Português (br)
Aitana Launch - Seattle Overview - Português (br)Aitana Launch - Seattle Overview - Português (br)
Aitana Launch - Seattle Overview - Português (br)
 
IoT em Ação: Criando um Moderno Sistema para Hospitais
IoT em Ação: Criando um Moderno Sistema para HospitaisIoT em Ação: Criando um Moderno Sistema para Hospitais
IoT em Ação: Criando um Moderno Sistema para Hospitais
 

Compreendendo e utilizando FireMonkey Layouts

  • 1. Embarcadero Technologies Copyright 2016 Compreendendo e Utilizando FireMonkey Layouts Fernando Rizzato Lead Software Consultant, Latin America
  • 2. Embarcadero Technologies Copyright 2016 AGENDA  Âncoras  Alinhamentos  Espaçamento (Margins e Padding)  TFlowLayout  TGridLayout  TGridPanelLayout  TScaledLayout  TScrollBox  TTabControl  Frames  TMultiView
  • 3. Embarcadero Technologies Copyright 2016 ÂNCORAS  Posição relativa a uma ou mais bordas do controle pai  Top  Bottom  Left  Right  O padrão é Top, Left  Move-se de acordo com o redimensionamento do pai  Cada controle possui de 0 a 4 âncoras
  • 4. Embarcadero Technologies Copyright 2016 ALINHAMENTOS  Alinha os controles dentro do pai, estabelecendo âncoras, tamanho e posição  O padrão é None  Ancorar e preencher ao longo das bordas  Top, Bottom, Left, Right  Preenche o pai mas preservando o aspecto  Fit, FitLeft, FitRight  Encha ao longo de um lado do pai (prioridade sobre os outros alinhamentos de borda)  MostBottom, MostTop, MostLeft, MostRight
  • 5. Embarcadero Technologies Copyright 2016 ALINHAMENTOS  Redimensionar em apenas um eixo (width ou height)  Vertical, VertCenter, Horizontal, HorzCenter  Variados  Client – Preenche a área do cliente, menos outros filhos  Center – Sem redimensionamento, apenas centro  Contents – Preenche a área cliente, ignorando outros filhos  Scale – Redimensiona e move-se para manter a posição e tamanho relativo
  • 6. Embarcadero Technologies Copyright 2016 ESPAÇAMENTO - MARGENS E PREENCHIMENTOS  Margins  Espaçamento para os controles irmãos (e arestas pais)  Padding  Espaçamento para os filhos
  • 7. Embarcadero Technologies Copyright 2016 TFLOWLAYOUT  Organizar controles filho como palavras em um parágrafo  Controles organizados na ordem em que são adicionados ao layout  Use “Move to Front” ou “Send to Back” para reordenar  Use TFlowLayoutBreak para forçar quebras de linha
  • 8. Embarcadero Technologies Copyright 2016 TGRIDLAYOUT  Organiza controles filhos em um grid com tamanhos iguais  Controla o fluxo através da rede conforme o pai redimensiona  Use as propriedades ItemWidth e ItemHeight  Personalize margens de controles individuais
  • 9. Embarcadero Technologies Copyright 2016 TGRIDPANELLAYOUT  Cria uma grade de linhas e colunas específicas  Não altera a âncora ou o tamanho do filho  Cada célula pode conter um controle filho  Você define a altura, largura, alinhar e âncoras dos filhos  Os controles podem abranger várias células
  • 10. Embarcadero Technologies Copyright 2016 TSCALEDLAYOUT  Estica controles filho conforme ele é redimensionado em tempo de execução  Não respeita o aspect ratio dos controles  Configure o Align do TScaledLayout para Fit para manter o aspect ratio  Alguns estilos tem melhor zoom que outros  Tem propriedades para OriginalWidth e OriginalHeight – Compare ao Width e Height para determinar a escala
  • 11. Embarcadero Technologies Copyright 2016 TSCROLLBOX  Permite que os filhos ocupem mais espaço do que o pai  Normalmente ancorada ao Client  Somente ancora o filho no Top & Left (padrão)  Rolar para ver os filhos adicionais  Veja também:  TVertScrollBox  THorzScrollBox  TFramedScrollBox  TFramedVertScrollBox
  • 12. Embarcadero Technologies Copyright 2016 TTABCONTROL  Controle para agrupar os controles filhos em guias  Guias estão em uma pilha com uma visível cada vez  TabPosition := PlatformDefault para usar o comportamento padrão da plataforma  TabPosition := None para ocultar o navegador  Use TTabChangeAction para animar as transições
  • 13. Embarcadero Technologies Copyright 2016 FRAMES  Partes reutilizáveis de interface de usuário  Inclui  O layout  Todos os eventos  Todo o código da Unit  Crie 1 ou mais frames, e então reposicione baseado no layout atual  Exemplos:  TTabControl para Smartphone  Lado-a-Lado para Tablets
  • 14. Embarcadero Technologies Copyright 2016 TMULTIVIEW  Um ”super panel” com múltiplos modos  Modos suportados  PlatformDefault  Drawer  NavigationPane  Panel  Popover  Custom  MasterPane, DetailPane e MasterButton configurável  PlatformDefault adapta a plataforma e orientação  Custom suporta layout e comportamento definido pelo usuário
  • 15. Embarcadero Technologies Copyright 2016 15 Mãos a Obra!
  • 16. Embarcadero Technologies Copyright 2016 Recursos Adicionais - 1/2  Estratégias de Layout FireMonkey  http://embt.co/fmxlayouts  Layouts  http://embt.co/tflowlayout  http://embt.co/tgridlayout  http://embt.co/tgridpanellayout  http://embt.co/tscaledlayout  http://embt.co/tscrollbox
  • 17. Embarcadero Technologies Copyright 2016 Recursos Adicionais - 2/2  Tecnologias Relacionadas  http://embt.co/fmxanchors  http://embt.co/fmxalignlayout  http://embt.co/fmxmargins  http://embt.co/fmxmargins  Outras Opções de Layouts  http://embt.co/usingttabcontrol  http://embt.co/workingwithframes  http://embt.co/usingmultiview
  • 18. Embarcadero Technologies Copyright 2016 18 OBRIGADO! Perguntas? Você pode me encontrar em: @FernandoRizzato fernando.rizzato@embarcadero.com Siga-nos em fb.com/DelphiBrasil fb.com/EmbarcaderoBR