Pregunta

Creo que esto es una especie de una pregunta extraña, pero he intentado fijar OnClickListener en una ImageView y ha funcionado. Pero el problema es que el usuario no puede sentir el clic. Quiero decir que si algunos de u han trabajado en otros entornos móviles (como el iPhone de Apple) a continuación, cuando se hace clic en una imagen en otros entornos entonces se da un efecto sobre la imagen para que el usuario pueda entender que la imagen se ha hecho clic.

He intentado fijar alfa utilizando el método setalpha pero no funciona. A pesar de lo mismo está muy bien trabajando en la implementación onFocusListener. Some1 puede sugerir una manera diferente para modificar la imagen al hacer clic ...

Soy nuevo en Android para que no han aprendido los matices de animación simple también ... si hay alguna animación simple que puedo utilizar para el mismo, por favor, hágamelo saber.

Gracias!

¿Fue útil?

Solución

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

No sé si este es el método correcto, pero la definición de una animación como se ha mencionado hizo el truco. Ahora sólo tenemos que dar

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

en el método OnClick y el cambio será visible ...

Otros consejos

Usted querrá utilizar un estirable que contiene imágenes diferentes para los diferentes estados que desea apoyar. He aquí un ejemplo:

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

nombre de este archivo img.xml o algo y lo puso en su directorio estirable, a continuación, establecer la imagen de su ImageView a img.xml. @drawable/img_at_rest es la imagen original que está tratando de usar, mientras que @drawable/img_pressed y @drawable/img_focused son las imágenes a utilizar para sus respectivos estados. También puede utilizar colores sólidos en lugar de imágenes si es apropiado para su 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>

Y añade:

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

No estoy seguro si funciona, pero ¿ha tratado setSelected () http://developer.android.com/reference/android /widget/ImageView.html#setSelected(boolean)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top