Recurso da lista de estados de cor
    
    
      
    
    
      
      Mantenha tudo organizado com as coleções
    
    
      
      Salve e categorize o conteúdo com base nas suas preferências.
    
  
  
      
    
  
  
  
  
  
    
    
    
  
  
    
    
    
Uma ColorStateList
é um objeto que você pode definir em XML e usar como uma cor que muda de tonalidade, dependendo do
estado do objeto View em que ele
é usado. Por exemplo, um widget Button
pode existir em um de vários estados: pressionado, focado ou nenhum dos dois. Usando uma lista de estados de cor,
é possível fornecer uma cor diferente para cada estado.
Descreva uma lista de estados em um arquivo XML. Cada cor é definida em um elemento <item> dentro de um elemento <selector> único. Cada <item>
usa vários atributos para descrever o estado em que é usado.
Durante cada mudança, a lista de estados é percorrida de cima abaixo, e o primeiro item que
corresponde ao estado atual é usado. A seleção não se baseia na "melhor"
correspondência, mas no primeiro item que atende aos critérios mínimos do estado.
Observação: se você quiser fornecer um recurso de cor estática, use um
valor color simples.
- Localização do arquivo:
- res/color/filename.xml
 O nome do arquivo é usado como ID de recurso.
- Tipo de dados do recurso compilado:
- Ponteiro do recurso para uma ColorStateList.
- Referência de recurso:
- 
Em Java: R.color.filename
 Em XML:@[package:]color/filename
- sintaxe:
- 
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:color="hex_color"
        android:lStar="floating_point_value"
        android:state_pressed=["true" | "false"]
        android:state_focused=["true" | "false"]
        android:state_selected=["true" | "false"]
        android:state_checkable=["true" | "false"]
        android:state_checked=["true" | "false"]
        android:state_enabled=["true" | "false"]
        android:state_window_focused=["true" | "false"] />
</selector>
- elementos:
- 
  - <selector>
- Obrigatório. Esse é o elemento raiz. Contém um ou mais elementos <item>.Atributos: 
        - xmlns:android
- String. Obrigatório. Define o namespace XML, que é
          "http://schemas.android.com/apk/res/android".
 
- <item>
- Define a cor usada durante certos estados, conforme descrito pelos atributos correspondentes. Ele é
filho de um elemento <selector>.Atributos: 
        - android:color
- Cor hexadecimal. Obrigatório. A cor é especificada com um
valor RGB e um canal alfa opcional.
O valor sempre começa com um caractere cerquilha (#) seguido pela
informação Alpha-Red-Green-Blue em um dos formatos abaixo:
 
  - #RGB
- #ARGB
- #RRGGBB
- #AARRGGBB
 
- android:lStar
- Ponto flutuante. Opcional. Esse atributo modifica a luminância perceptível da cor base. Ele usa um
valor de ponto flutuante entre 0 e 100 ou um atributo de tema que é resolvido dessa forma. A cor
geral do item é calculada convertendo a cor da base em um espaço de cores adequado para acessibilidade
e definindo L* como o valor especificado no atributo lStar.Exemplo: android:lStar="50"
 
- android:state_pressed
- Booleano. "true", se o item é usado quando o objeto é tocado, por exemplo, quando um botão
é tocado ou clicado."false", se o item é usado no estado padrão não tocado.
- android:state_focused
- Booleano. "true", se o item é usado quando o objeto está em foco, por exemplo, quando um botão
é destacado usando o trackball ou botão direcional."false", se o item é usado no estado
padrão sem foco.
- android:state_selected
- Booleano. "true", se o item é usado quando o objeto é selecionado, por exemplo, quando uma
guia é aberta."false", se o item é usado quando o objeto não está selecionado.
- android:state_checkable
- Booleano. "true", se o item é usado quando o objeto pode ser marcado."false", se o
item é usado quando o objeto não pode ser marcado. Essa função é útil somente quando o objeto pode fazer a
transição entre um widget selecionável e não selecionável.
- android:state_checked
- Booleano. "true", se o item é usado quando o objeto está marcado."false", se o
item é usado quando o objeto está desmarcado.
- android:state_enabled
- Booleano. "true", se o item é usado quando o objeto está ativado e pode
receber eventos de toque ou clique."false", se o item é usado quando o objeto está desativado.
- android:state_window_focused
- Booleano. "true", se o item é usado quando a janela do aplicativo está em foco,
ou seja,
quando o aplicativo está em primeiro plano."false", se o item é usado quando a janela
do aplicativo não está em foco, por exemplo, quando a aba de notificações está suspensa ou uma caixa de diálogo é exibida.
 Observação: o primeiro item na lista de estados que
corresponder ao estado atual do objeto será usado. Portanto, se o primeiro item na lista não tiver
nenhum dos atributos de estado acima, ele será usado sempre. Por esse motivo, coloque o
valor padrão por último, conforme mostrado no exemplo a seguir. 
 
- Exemplo:
- Arquivo XML salvo em res/color/button_text.xml:<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true"
          android:color="#ffff0000"/> <!-- pressed -->
    <item android:state_focused="true"
          android:color="#ff0000ff"/> <!-- focused -->
    <item android:color="#ff000000"/> <!-- default -->
</selector>O XML de layout a seguir aplica a lista de cores a uma View:
 <Button
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/button_text"
    android:textColor="@color/button_text" />
- Confira 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.
  
  
  
    
      [[["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 2025-07-27 UTC."],[],[]]