Prévia do material em texto
O texto da Android Developers sobre o Layout Editor foca em como usar a ferramenta visual do Android Studio para criar e gerenciar a interface do usuário (IU) de um aplicativo. Abaixo está um resumo para estudo, destacando os principais conceitos e o fluxo de trabalho. 🎨 Resumo de Estudo: Criar um IU com o Layout Editor 1. 🖼️ Conceitos Fundamentais da UI · View (Visualização): É o bloco fundamental da IU. Um objeto que ocupa uma área retangular na tela e é responsável por desenhar e manipular eventos. Exemplos: TextView, Button, ImageView. · ViewGroup (Grupo de Visualizações): É um contêiner invisível que define a estrutura de layout para os objetos View e outros ViewGroups que estão dentro dele (filhos). Exemplos: LinearLayout, ConstraintLayout. · Hierarquia de Visualizações: A estrutura de uma IU é uma árvore composta por um ViewGroup raiz que contém Views e outros ViewGroups aninhados. Princípio de Otimização: Mantenha a hierarquia o mais superficial (plana) possível para otimizar o desempenho de renderização. 2. 📝 Declaração do Layout A IU pode ser criada de duas maneiras, sendo a primeira a mais comum e recomendada: 1. Declaração em XML (Padrão): a. Arquivos de layout são definidos em XML e armazenados na pasta res/layout/. b. O XML usa um vocabulário simples que mapeia diretamente para as classes View e ViewGroup. c. Este método facilita a separação entre o design (XML) e a lógica da aplicação (Kotlin/Java). 2. Instanciação em Tempo de Execução (Programática): a. Objetos View e ViewGroup são criados e manipulados diretamente no código-fonte (Activity ou Fragment). 3. 🖥️ Layout Editor (A Ferramenta Visual) O Layout Editor do Android Studio é uma interface gráfica que permite construir IUs visualmente: · Paleta (Palette): Lista todos os componentes de UI disponíveis (Views e ViewGroups). Permite arrastar e soltar elementos diretamente na tela. · Design e Blueprint: Oferece modos de visualização, mostrando a interface renderizada (Design) e um contorno estrutural para ver as restrições e alinhamentos (Blueprint). · Árvore de Componentes (Component Tree): Exibe a hierarquia de visualizações do layout, permitindo inspecionar a estrutura aninhada de Views e ViewGroups. · Painel de Atributos (Attributes): Permite editar rapidamente as propriedades de qualquer componente selecionado (ex: texto do botão, dimensões, margens, cores, IDs). · Pré-visualização em Tempo Real: Reflete instantaneamente as alterações feitas no código XML ou no modo Design, e pode mostrar o layout em diferentes dispositivos e orientações (retrato/paisagem). 4. ⚙️ Conectando o Layout ao Código Para que o código da aplicação interaja com os elementos visuais definidos no XML: 1. Atribuição de ID: Cada View ou ViewGroup deve receber um ID exclusivo no XML usando o atributo android:id="@+id/nome_do_id". 2. Carregamento do Layout: Na Activity ou Fragment, o layout XML é carregado usando o método setContentView(R.layout.nome_do_arquivo). 3. Referência no Código: Os elementos são acessados no código Kotlin/Java usando o ID com o método findViewById(R.id.nome_do_id) (ou Binding/Compose, que são abordagens mais modernas). 5. 🧩 Variantes de Layout · O Layout Editor facilita a criação de variantes de layout usando qualificadores de recurso (ex: res/layout-land/ para paisagem ou res/layout-sw600dp/ para tablets). Isso permite otimizar o design para diferentes tamanhos de tela e orientações. CANVAS: Layout Editor (Android Studio) Bloco do Canvas Componente Principal Função e Uso Chave Estrutura Base View e ViewGroup View: Bloco fundamental da UI (ex: Button, TextView). ViewGroup: Contêiner que define o layout e organiza as Views (ex: ConstraintLayout, LinearLayout). Ferramenta Visual Layout Editor Ambiente de desenvolvimento visual que permite criar e modificar layouts usando o método Arrastar e Soltar (Drag-and-Drop), em vez de escrever XML manualmente. Painéis de Trabalho Palette, Component Tree & Attributes Palette: Onde se encontram todos os Widgets disponíveis para adicionar. Component Tree: Exibe a hierarquia aninhada dos elementos na tela. Attributes: Permite configurar propriedades (tamanho, cor, margem, ID) do elemento selecionado. Padrão de Criação XML (Linguagem de Marcação) A maneira padrão e recomendada de declarar a estrutura da UI no Android (arquivos em res/layout/). O Layout Editor gera e edita este XML automaticamente. Otimização Hierarquia Plana & Variantes Hierarquia Plana: Manter o aninhamento de ViewsGroups no mínimo para otimizar a performance de renderização. Variantes: Criação de layouts específicos (com qualificadores de recurso) para diferentes configurações de tela (ex: tablet, paisagem). Conexão Lógica android:id & findViewById android:id: Atributo para identificar univocamente um View no XML. findViewById: Método usado no código (Kotlin/Java) para obter uma instância do View e manipulá-lo programaticamente. Modos de Visualização Design / Blueprint / Split Design: Pré-visualização renderizada da interface. Blueprint: Visualização estrutural para inspecionar alinhamentos e restrições. Split: Combina a visualização do código XML com o preview visual.