Pergunta

Eu acho que isso é uma pergunta estranha, mas tentei definir o OnClickListener em um ImageView e funcionou. Mas o problema é que o usuário não pode sentir o clique. Quero dizer, se alguns de vocês trabalharam em outros arredores móveis (como o Apple iPhone), quando clicamos em uma imagem em outros arredores, ela dá um efeito na imagem para que o usuário possa entender que a imagem foi clicada.

Eu tentei definir alfa usando setalpha método, mas não funciona. Embora a mesma coisa esteja funcionando bem na implementação do OnFocusListener. Algum1 pode sugerir uma maneira diferente de modificar a imagem em clique ...

Eu sou novo no Android, portanto, também não aprendi as nuances de animação simples ... se houver alguma animação simples que eu possa usar para o mesmo, por favor me avise.

Obrigado!

Foi útil?

Solução

   <?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">

<alpha
android:fromAlpha = "1.0"
android:toAlpha = "0.5"
android:duration = "300">
</alpha>
<scale
android:fromXScale = "1"
android:toXScale = "0.9" 
android:fromYScale = "1"
android:toYScale = "0.9" 
android:pivotX="50%"
android:pivotY="50%" 
android:duration = "50">
</scale>
</set>

Não sei se esse é o método correto, mas definir uma animação como mencionado fez o truque. Agora só temos que dar

public void onClick(View v) {
v.startAnimation(AnimationUtils.loadAnimation(Context, R.anim.image_click));
//Your other coding if present
}

No método OnClick e a mudança será visível ...

Outras dicas

Você deseja usar um desenhado que contém imagens diferentes para os diferentes estados que deseja apoiar. Aqui está um exemplo:

<?xml version="1.0" encoding="utf-8"?>    
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@drawable/img_pressed" />
    <item android:state_focused="true" android:drawable="@drawable/img_focused" />
    <item android:drawable="@drawable/img_at_rest" />
</selector>

Nomeie este arquivo img.xml ou algo assim e coloque -o no seu diretório desenhado e defina a imagem do seu ImageView como img.xml. @drawable/img_at_rest é a imagem original que você está tentando usar, enquanto @drawable/img_pressed e @drawable/img_focused são as imagens a serem usadas para seus respectivos estados. Você também pode usar cores sólidas em vez de imagens, se for apropriado para o seu caso de uso.

anim/anim_item.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
  <alpha
    android:fromAlpha="0.0"
    android:toAlpha="1."
    android:duration="1000">
  </alpha>
</set>

E adicione:

myView.startAnimation(AnimationUtils.loadAnimation(context, R.anim.anim_item));

Não tenho certeza se funciona, mas você já tentou setSelected ()http://developer.android.com/reference/android/widget/imageview.html#setlectected(boolean)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top