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,Viewou<merge>, mas é necessário que exista apenas
um elemento raiz, e ele precisa conter o atributoxmlns:androidcom o namespaceandroid,
conforme mostrado no exemplo de sintaxe anterior.
 
- Elementos:
- 
  
  - <ViewGroup>
- Um contêiner para outros elementos View. Há diferentes
    tipos de objetosViewGroup, e cada um permite
    especificar o layout dos elementos filhos de maneiras diferentes. Diferentes tipos de
    objetosViewGroupincluemLinearLayout,RelativeLayouteFrameLayout.Não presuma que qualquer derivação de ViewGroupaceita visualizações aninhadas. Algumas visualizações em grupo
    são implementações da classeAdapterView, que determina
    os filhos somente de umAdapter.
 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 ViewGroupdo 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
      ViewGroupoferece suporte a mais atributos, e muitos outros têm suporte de cada implementação doViewGroup. Para conferir uma referência de todos os atributos disponíveis,
      consulte a documentação de referência correspondente para a classeViewGroup,
por exemplo, AtributosLinearLayoutXML.
 
- <View>
- Um componente de interface individual, geralmente conhecido como widget. Diferentes
    tipos de objetos ViewincluemTextView,ButtoneCheckBox.Atributos: 
        - android:id
- ID de recurso. Um nome de recurso exclusivo para o elemento que pode ser usado para
          acessar uma referência à Viewdo 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
      Viewoferece suporte a mais atributos, e muitos outros têm suporte de cada implementação doView. 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, AtributosTextViewXML.
 
- <requestFocus>
- Qualquer elemento que represente um objeto Viewpode 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_widthtambé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_heighttambé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>, substituaandroid:layout_heighteandroid:layout_widthpara 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 atributoandroid:layout. Para saber mais sobre o uso deViewStub, 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 Viewmã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êinerViewGroupdiferente. Para saber
mais sobre a mesclagem de layouts, consulte Reutilizar layouts com <include>.
 
 Valor de android:idPara 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 ferramentaaaptcria
um número inteiro do novo recurso na classeR.java, se ainda não houver um.
 <TextView android:id="@+id/nameTextbox"/> O nome nameTextboxagora é um ID de recurso anexado a este elemento. Em seguida,
você pode consultar aTextViewa que o ID está associado em Java:
 Kotlinval textView: TextView? = findViewById(R.id.nameTextbox) JavaTextView 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 valorandroid: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 personalizadosVocê pode criar e ativar elementos VieweViewGrouppersonalizados 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 Activityno
    métodoonCreate():
 
- 
Kotlinpublic override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.main_activity)
}Javapublic 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 2025-07-27 UTC.
  
  
  
    
      [null,null,["Última atualização 2025-07-27 UTC."],[],[]]