O Google usa tecnologia de IA na tradução de conteúdos para seu idioma de preferência. As traduções com IA podem ter erros.
Recurso de layout
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Um recurso de layout define a arquitetura da interface em uma Activity ou um
componente de uma interface.
- Localização do arquivo:
res/layout/filename.xml
O nome do arquivo é usado como ID de recurso.
- Tipo de dados do recurso compilado:
- Ponteiro de recurso para um recurso
View (ou subclasse).
- referência de recurso:
-
Em Java:
R.layout.filename
Em XML: @[package:]layout/filename
- Sintaxe:
-
<?xml version="1.0" encoding="utf-8"?>
<ViewGroup
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@[+][package:]id/resource_name"
android:layout_height=["dimension" | "match_parent" | "wrap_content"]
android:layout_width=["dimension" | "match_parent" | "wrap_content"]
[ViewGroup-specific attributes] >
<View
android:id="@[+][package:]id/resource_name"
android:layout_height=["dimension" | "match_parent" | "wrap_content"]
android:layout_width=["dimension" | "match_parent" | "wrap_content"]
[View-specific attributes] >
<requestFocus/>
</View>
<ViewGroup >
<View />
</ViewGroup>
<include layout="@layout/layout_resource"/>
</ViewGroup>
Observação: o elemento raiz pode ser um elemento
ViewGroup, View ou <merge>, mas é necessário que exista apenas
um elemento raiz, e ele precisa conter o atributo xmlns:android com o namespace android,
conforme mostrado no exemplo de sintaxe anterior.
- Elementos:
-
<ViewGroup>
- Um contêiner para outros elementos
View. Há diferentes
tipos de objetos ViewGroup, e cada um permite
especificar o layout dos elementos filhos de maneiras diferentes. Diferentes tipos de
objetos ViewGroup incluem LinearLayout,
RelativeLayout e FrameLayout.
Não presuma que qualquer derivação de ViewGroup
aceita visualizações aninhadas. Algumas visualizações em grupo
são implementações da classe AdapterView, que determina
os filhos somente de um Adapter.
Atributos:
android:id
- ID de recurso. Um nome de recurso exclusivo para o elemento que pode ser usado para
acessar uma referência para o
ViewGroup do seu aplicativo. Para saber
mais, consulte a seção Valor de android:id.
android:layout_height
- Dimensão ou palavra-chave. Obrigatório. A altura do grupo, como um
valor de dimensão (ou
recurso de dimensão) ou uma palavra-chave
(
"match_parent" ou "wrap_content"). Para saber mais,
consulte a seção Valores de android:layout_height e
android:layout_width:.
android:layout_width
- Dimensão ou palavra-chave. Obrigatório. A largura do grupo, como um
valor de dimensão (ou
recurso de dimensão) ou uma palavra-chave
(
"match_parent" ou "wrap_content"). Para saber mais,
consulte a seção Valores de android:layout_height e
android:layout_width.
A classe de base
ViewGroup oferece suporte a mais atributos, e muitos outros têm suporte de cada implementação do
ViewGroup. Para conferir uma referência de todos os atributos disponíveis,
consulte a documentação de referência correspondente para a classe ViewGroup,
por exemplo, Atributos LinearLayout
XML.
<View>
- Um componente de interface individual, geralmente conhecido como widget. Diferentes
tipos de objetos
View incluem TextView,
Button e CheckBox.
Atributos:
android:id
- ID de recurso. Um nome de recurso exclusivo para o elemento que pode ser usado para
acessar uma referência à
View do seu aplicativo. Para saber
mais, consulte a seção Valor de android:id.
android:layout_height
- Dimensão ou palavra-chave. Obrigatório. A altura do elemento, como
um valor de dimensão (ou
recurso de dimensão) ou uma palavra-chave
(
"match_parent" ou "wrap_content"). Para saber mais,
consulte a seção Valores de android:layout_height e
android:layout_width.
android:layout_width
- Dimensão ou palavra-chave. Obrigatório. A largura do elemento, como
um valor de dimensão (ou
recurso de dimensão) ou uma palavra-chave
(
"match_parent" ou "wrap_content"). Para saber mais,
consulte a seção Valores de android:layout_height e
android:layout_width.
A classe de base
View oferece suporte a mais atributos, e muitos outros têm suporte de cada implementação do
View. Para saber mais, consulte Layouts. Para
conferir uma referência de todos os atributos disponíveis,
consulte a documentação de referência correspondente, por exemplo, Atributos TextView XML.
<requestFocus>
- Qualquer elemento que represente um objeto
View pode incluir esse elemento vazio,
o que dá foco inicial ao elemento pai na tela. Você pode ter apenas um desses
elementos por arquivo.
<include>
- Inclui um arquivo nesse layout.
Atributos:
layout
- Recurso de layout. Obrigatório. Referência a um recurso
de layout.
android:id
- ID de recurso. Modifica o ID dado à visualização raiz no layout incluído.
android:layout_height
- Dimensão ou palavra-chave. Substitui a altura atribuída à visualização raiz no
layout incluído. Só vai ser eficaz se
android:layout_width também for declarado.
android:layout_width
- Dimensão ou palavra-chave. Substitui a altura atribuída à visualização raiz no
layout incluído. Só será eficaz se
android:layout_height também for declarado.
Você pode incluir qualquer outro atributo de layout no <include> que tenha
suporte do elemento raiz no layout incluído. Eles vão substituir os definidos no
elemento raiz.
Cuidado: se você quiser substituir os atributos de layout usando
a tag <include>, substitua
android:layout_height e android:layout_width para que
outros atributos de layout sejam ativados.
Outra maneira de incluir um layout é usar ViewStub: uma visualização
leve que não consome espaço de layout até ser explicitamente inflada. Quando você a infla, ela inclui um
arquivo de layout definido pelo atributo android:layout. Para saber mais sobre o uso de ViewStub, consulte Carregar
visualizações sob demanda.
<merge>
- Um elemento raiz alternativo que não é mostrado na hierarquia de layout. Usá-lo como
elemento raiz é útil quando você sabe que ele será colocado em um layout
que já tem a
View mãe adequada para conter os filhos do
elemento <merge>.
Isso é útil principalmente quando você planeja incluir esse layout
em outro arquivo usando <include> e
ele não exige um contêiner ViewGroup diferente. Para saber
mais sobre a mesclagem de layouts, consulte Reutilizar layouts com <include>.
Valor de android:id
Para o valor do ID, use este formulário de sintaxe: "@+id/name", conforme mostrado no exemplo a seguir. O
sinal de adição, +, indica que esse é um novo ID de recurso, e a ferramenta aapt cria
um número inteiro do novo recurso na classe R.java, se ainda não houver um.
<TextView android:id="@+id/nameTextbox"/>
O nome nameTextbox agora é um ID de recurso anexado a este elemento. Em seguida,
você pode consultar a TextView a que o ID está associado em Java:
Kotlin
val textView: TextView? = findViewById(R.id.nameTextbox)
Java
TextView textView = findViewById(R.id.nameTextbox);
Esse código retorna o objeto TextView.
No entanto, se você já tiver definido um recurso de ID e ele ainda não
tiver sido usado, ative esse ID em um elemento View, excluindo o
símbolo de adição no valor android:id.
Valores de android:layout_height e
android:layout_width:
Os valores de altura e largura são expressos usando qualquer uma das
unidades de
dimensão com suporte no Android (px, dp, sp, pt, in, mm) ou com as seguintes palavras-chave:
| Valor | Descrição |
match_parent |
Define a dimensão que corresponde à dimensão do elemento pai. Adicionado no nível 8 da API para
descontinuar o uso de fill_parent. |
wrap_content |
Ajusta a dimensão ao tamanho necessário para adequar o conteúdo desse elemento. |
Elementos de visualização personalizados
Você pode criar e ativar elementos View e ViewGroup
personalizados da mesma forma que um elemento de layout
padrão. Você também pode especificar os atributos aceitos no elemento XML. Para saber mais,
consulte Criar componentes de visualização personalizados.
- exemplo:
- Arquivo XML salvo em
res/layout/main_activity.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello, I am a TextView" />
<Button android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello, I am a Button" />
</LinearLayout>
Esse código de aplicativo carrega o layout para um Activity no
método onCreate():
-
Kotlin
public override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.main_activity)
}
Java
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
}
- Consulte também:
-
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2026-07-10 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2026-07-10 UTC."],[],[]]