Layouts e Views
Projete interfaces de usuário com layouts XML. Use ConstraintLayout, LinearLayout e views comuns, como TextView, Button, ImageView e EditText.
Layouts e Views é uma aula grátis de Android Academy no CoddyKit. Esta é a aula 3 de 7. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Android Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Android Academy inclui 7 aulas no total.
Criando interfaces com XML
As interfaces do Android são definidas em arquivos de layout XML armazenados em res/layout/. O layout descreve a estrutura e a aparência da tela — quais visualizações são exibidas e onde.
Seu código Kotlin então infla esse layout e interage com as visualizações durante a execução.
Tipos comuns de visualização
Os widgets de visualização mais usados:
TextView— exibe textoEditText— campo de entrada de textoButton— botão clicávelImageView— exibe uma imagemCheckBox— alterna entre ativado e desativadoSwitch— alternância entre ativado e desativado (Material)
ConstraintLayout
ConstraintLayout é o layout recomendado para a maioria das telas. Ele permite posicionar visualizações em relação umas às outras ou ao elemento pai usando restrições — como se você conectasse pontos de ancoragem.
- Hierarquia plana — não exige layouts aninhados
- Flexível — funciona com qualquer tamanho de tela
- Usado por padrão em novos projetos do Android Studio
XML do ConstraintLayout
Um TextView centralizado na tela com ConstraintLayout:
<!-- res/layout/activity_main.xml -->
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/tvTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello Android!"
android:textSize="24sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>LinearLayout
LinearLayout organiza visualizações em uma única linha ou coluna:
android:orientation="vertical"— empilha as visualizações de cima para baixoandroid:orientation="horizontal"— organiza as visualizações lado a ladoandroid:layout_weight— distribui proporcionalmente o espaço restante
É simples e previsível, mas evite aninhamentos profundos.
Principais atributos de layout
Toda visualização tem estes atributos essenciais:
layout_width/layout_height:match_parent,wrap_contentou um valor fixo em dpid: usado para referenciar a visualização no Kotlinmargin: espaço externo à visualizaçãopadding: espaço interno da visualização
Use dp para tamanhos (pixels independentes de densidade) e sp para tamanhos de texto.
ScrollView
Quando o conteúdo é mais alto que a tela, envolva-o em um ScrollView:
- Pode conter apenas um filho direto (geralmente um LinearLayout)
- Rolagem vertical por padrão
- Use
HorizontalScrollViewpara rolagem horizontal
Para listas dinâmicas longas, use RecyclerView — é mais eficiente.
Encontrando visualizações no código
Há duas maneiras de acessar visualizações no seu código Kotlin:
findViewById(R.id.tvTitle)— maneira clássica; retorna a visualização pelo ID- ViewBinding — abordagem moderna: gera uma classe de vinculação a partir do XML, oferecendo acesso seguro quanto aos tipos a todas as visualizações
O uso de ViewBinding é fortemente recomendado — você aprenderá sobre ele na próxima lição.
Usando findViewById
Acesse e modifique visualizações a partir de onCreate:
import android.os.Bundle
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val tvTitle = findViewById<TextView>(R.id.tvTitle)
tvTitle.text = "Welcome!"
tvTitle.textSize = 20f
}
}Verificação rápida
Qual unidade você deve usar para o tamanho do texto nos layouts do Android?
Recapitulação: layouts e visualizações
Agora você sabe criar telas do Android:
- As interfaces são definidas em arquivos de layout XML em
res/layout/ - Visualizações comuns: TextView, EditText, Button, ImageView
- ConstraintLayout — flexível, plano e recomendado
- LinearLayout — organização simples em linha ou coluna
- Use
dppara tamanhos esppara textos - Acesse visualizações no Kotlin com
findViewById
Próximo passo: torne sua interface interativa lidando com a entrada do usuário.
Perguntas Frequentes
A aula “Layouts e Views” é grátis?
Sim — o texto completo de “Layouts e Views” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Android Academy, atualize para CoddyKit PRO. O curso de Android Academy inclui 7 aulas no total.
O que vou aprender em “Layouts e Views”?
Projete interfaces de usuário com layouts XML. Use ConstraintLayout, LinearLayout e views comuns, como TextView, Button, ImageView e EditText. Você pratica Android Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Android Academy?
Nenhuma experiência prévia é necessária. Android Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 7.
Quanto tempo leva a aula “Layouts e Views”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Android Academy?
Sim. Cada aula de Android Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Estrutura do Projeto e Manifesto
- Activities e Ciclo de Vida
- Layouts e Views
- Tratamento da Entrada do Usuário
- Intents e Navegação
- Fragments
- Permissões e Solicitações em Tempo de Execução