Pular para conteúdo

Exercícios 05 - Interface Gráfica 🎨

🟢 Fáceis

  1. Views vs ViewGroups: Em poucas palavras, qual a função de um ViewGroup? Dê um exemplo.
  2. Unidades: Por que devemos usar dp para tamanhos e sp para textos, em vez de pixels (px)?

🟡 Médios

  1. ConstraintLayout: Explique como você centralizaria um botão na tela usando ConstraintLayout (quais as "amarras" necessárias).
  2. Weight (Peso): Em um LinearLayout horizontal, se eu tiver dois botões, e quiser que o primeiro ocupe 70% da tela e o segundo 30%, como configuro o layout_weight?

🔴 Desafio

  1. Hierarquia de Views: Um erro comum de iniciantes é criar layouts muito aninhados (LinearLayout dentro de LinearLayout, dentro de outro...).
    • Por que isso é ruim para a performance do app?
    • Como o ConstraintLayout ajuda a evitar esse problema?
    • Desenhe a estrutura de árvore do layout da "Tela de Login" proposta na aula.

📚 Gabarito e Soluções Comentadas

Gabarito Explicado ### Questão 1: Views vs ViewGroups **Resolução e Implementação:**
// Estrutura de implementação recomendada para Views vs ViewGroups
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Interface Gráfica (UI)**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 2: Unidades **Resposta Comentada:** - **Fundamentação:** No contexto de **Interface Gráfica (UI)**, o conceito abordado (Unidades) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 3: ConstraintLayout **Resposta Comentada:** - **Fundamentação:** No contexto de **Interface Gráfica (UI)**, o conceito abordado (ConstraintLayout) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 4: Weight (Peso) **Resposta Comentada:** - **Fundamentação:** No contexto de **Interface Gráfica (UI)**, o conceito abordado (Weight (Peso)) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 5: Hierarquia de Views **Resposta Comentada:** - **Fundamentação:** No contexto de **Interface Gráfica (UI)**, o conceito abordado (Hierarquia de Views) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais.