Android - imagem diferente para rollover em ImageButton
-
03-07-2019 - |
Pergunta
É possível especificar uma imagem diferente quando o foco do usuário chega ao ImageButton? Eu quero mostrar uma imagem em um LinearLayout e alterar a imagem quando o foco do usuário vem no botão ou quando o usuário pressiona o botão.
Graças.
Solução
Sim, você pode fazer isso. O que você precisa é um arquivo xml drawable que define um seletor.
<selector xmlns:android... <item android:state_enabled="false" android:state_focused="true" android:drawable="..." /> <item android:state_enabled="true" android:state_focused="false" android:drawable="..." /> </selector>
Em seguida, use o id deste XML drawable ao especificar o ImageButton em sua XML layout.
Outras dicas
A resposta precedente não funcionou para mim. Aqui está o código que eu encontrei em outro lugar:
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/refresh_pushed" android:state_pressed="true" />
<item android:drawable="@drawable/refresh" />
</selector>
Você também pode adicionar um estado para objetos foccussed adicionando uma linha e usar:
android: state_focused = "true"
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow