Usando o ImageButton ou o ImageView como botão, ele perde o efeito gráfico quando é tocado

Desde já agradeço aos que puderem me ajudar.
Pessoal, estou com um probleminha no meu código. Estou querendo trocar a imagem do botão colocar a que eu quiser, primeiro coloquei o imageButton e reparei que a borda da imagem que uso está como se fosse o botão do android mesmo, uma borda quadrada maior que a imagem que eu uso que é arredondada. Decidi então usar o imageView e a borda sumiu, ficou apenas minha imagem, mas na hora que eu toco no botão, ele funciona e tal, mas não tem mais o efeito gráfico que tinha antes quando usamos o Button ou o imageButton, um efeito que se dá como se estivéssemos apertando um botão msm, ele troca de cor por um momento e aumenta de tamanho rapidamente e depois volta ao normal. Gostaria de saber como colocar minha imagem e ainda sim continuar com esse efeito. Abaixo segue o código em xml do layout, pra vocês conferirem. Vou colocar dois botões pelo menos como disse que fiz, um com imageButton e outro usando imageView. E tem mais um detalho, usando o Button ou o ImageButton quando eu uso o android:src="@drawable/nomedaimagem" se houver algum texto escrito, deixa de aparecer e se eu usar o android:background="@drawable/nomedaimagem" acontece o msm que acontece quando uso o imageView, usando o imageButton com essa segunda opção o texto tbm n aparece.

No primeiro Botão (Entrar), eu usei o Button com o android:background, no segundo (Sobre), eu usei apenas o Button sem imagem nenhuma, no terceiro (Instruções) eu usei o imageButton com o android:src e no quarto eu usei o imageView com o android:src.

[code]

<Button
    android:id="@+id/button1"
    android:layout_width="140dp"
    android:layout_height="wrap_content"
    android:layout_marginLeft="24dp"
    android:layout_marginTop="44dp"
    android:layout_x="11dp"
    android:layout_y="85dp"
    android:text="Entrar"
    android:onClick="entrar"
    android:background="@drawable/button"
   />

<Button
    android:id="@+id/button2"
    android:layout_width="138dp"
    android:layout_height="wrap_content"
    android:layout_x="12dp"
    android:layout_y="143dp"
    android:text="Sobre"
    android:onClick="sobre" />

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_x="1dp"
    android:layout_y="278dp"
    android:onClick="mudar"
    android:src="@drawable/button" />

<Button
    android:id="@+id/button4"
    android:layout_width="138dp"
    android:layout_height="wrap_content"
    android:layout_x="188dp"
    android:layout_y="283dp"
    android:onClick="sair"
    android:text="Sair" />

<ImageButton
    android:id="@+id/button3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_x="11dp"
    android:layout_y="207dp"
    android:onClick="instrucoes"
    android:text="Instruções" 
    android:src="@drawable/button"
    />

[/code]

Problema da bora está parecendo a do Button, se usar o ImageButton, e setar android:src="@drawable/button", para sumir as bordas é só setar android:background="@null", as bordas irão sumir e ficar só o ImageButton visível. O efeito de clique no botão eu tmb estou com dificuldades em fazer, se conseguir posta ae.

Use o componente Button normal e use a propriedade drawableTop/drawableBottom e por ai vai, a vantagem é que você pode botar textos junto com imagens.

A no caso vocês querem a imagem sem borda e com efeito de click ?

Isso mesmo, prq quando cria um ImageButton, ao cliquar no botão ele não dá aquele efeito de click igual criar um Button normal. :slight_smile:

Consegui fazer da seguinte forma.
Primeiro passo: vc deve ter 2 imagens para os botões (eu criei formato png no paint mesmo, só para testes), 1 botão normal e o outro pra dar o efeito de clique.
Segundo passo: importar essas 2 imagens clicando com o botão direito na pasta /res/drawable-hdpi, então clique em import, depois general, depois filesystem e vá até o local da imagem e as importe.
terceiro passo: vamos criar um pressioado.xml dentro da pasta /res/drawable-hdpi como abaixo:

[code]<?xml version="1.0" encoding="utf-8"?>

[/code] Onde, bt_ok_pressionado é o botão que fará o efeito clique e bt_ok é o botão normal.

Quarto passo: criando o botão no .xml da tela onde ficará o botão:

[code]<?xml version="1.0" encoding="utf-8"?>

<ImageButton
    android:id="@+id/ibOk"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/bottao_pressionado"
    android:clickable="true" />

[/code]

Repara que ao invés de chamar o @drawable/botao diretamente, a gente chama o .xml criado. Aqui que tá o esquema.
Outra coisa, a linha android:background="@drawable/fundo_tela" foi uma textura que baixei no google só pra dar um fundo de tela legal
Pronto, botão criado com efeito de clique. Espero ter ajudado.
Abraços.