Question

Je suppose que cela est un peu une question bizarre mais j'ai essayé de mettre onClicklistener sur un ImageView et il a travaillé. Mais le problème est que l'utilisateur ne peut pas détecter le clic. Je veux dire si certains d'entre u ont travaillé sur d'autres environs mobiles (comme Apple iPhone), puis lorsque l'on clique sur une image dans d'autres environs il donne un effet sur l'image afin que l'utilisateur peut comprendre que l'image a été cliqué.

Je l'ai essayé d'installer alpha en utilisant la méthode setalpha mais il ne fonctionne pas. Bien que la même chose fonctionne très bien sur la mise en œuvre onFocusListener. Peut-some1 suggérer une autre façon de modifier l'image cliquez ...

Je suis nouveau android si n'ont pas appris les nuances de animation simple aussi ... s'il y a une animation simple que je peux utiliser pour la même alors s'il vous plaît laissez-moi savoir.

Merci!

Était-ce utile?

La solution

   <?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>

Je ne sais pas si cela est la bonne méthode, mais la définition d'une animation comme mentionné a fait l'affaire. Maintenant, nous devons juste donner

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

dans la méthode OnClick et le changement seront visibles ...

Autres conseils

Vous voulez utiliser un drawable qui contient des images différentes pour les différents états que vous voulez soutenir. Voici un exemple:

<?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>

Nom de fichier img.xml ou quelque chose et de le mettre dans votre répertoire drawable, puis mis à img.xml l'image de votre ImageView. @drawable/img_at_rest est l'image originale que vous essayez d'utiliser, alors que @drawable/img_pressed et @drawable/img_focused sont les images à utiliser pour leurs états respectifs. Vous pouvez également utiliser des couleurs solides au lieu d'images s'il est approprié pour votre cas d'utilisation.

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>

Et d'ajouter:

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

Je ne sais pas si cela fonctionne, mais avez-vous essayé setSelected () http://developer.android.com/reference/android /widget/ImageView.html#setSelected(boolean)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top