Como modificar o estado padrão do botão no Android sem afetar os estados pressionado e selecionado?

Estou tentando remover o plano de fundo de um ImageButton apenas no estado padrão. Gostaria que os estados pressionado e selecionado se comportassem como de costume, para que pareçam corretos em diferentes dispositivos, que usam cores diferentes para os estados pressionado e selecionado.

Existe alguma maneira de definir o drawable do estado padrão de fundo de um ImageButton sem afetar os estados pressionado e selecionado?

Tentei fazer isso com um seletor, mas não parece permitir que você use os drawables padrão para alguns estados - você deve definir todos os estados por conta própria. Como não há API para recuperar os drawables pressionados / selecionados padrão do dispositivo, não sei como definir os estados pressionados / selecionados.

Também tentei obter o objeto StateListDrawable para o botão que o sistema cria quando você não está usando um seletor e modificá-lo para alterar o estado padrão. Isso também não funcionou.

Parece que no Android, se você deseja alterar o drawable para um estado de um botão, deve definir todos os estados e, portanto, não pode preservar os drawables padrão para os outros estados. Isso está correto?

Obrigado! -Tom B.

questionAnswers(2)

yourAnswerToTheQuestion