Imagen de Android se desvanece animación

Cuando corrí este código, no hizo nada, estoy seguro de que este evento se llama cuando toco el botón. pero no cambia la opacidad de imageView.

View.OnTouchListener mDelayHideTouchListener = new View.OnTouchListener() { @Override public boolean onTouch(View view, MotionEvent motionEvent) { ObjectAnimator fadeAltAnim = ObjectAnimator.ofFloat(R.id.imgTest, "alpha", 0.2f); fadeAltAnim.start(); } }; findViewById(R.id.dummy_button).setOnTouchListener(mDelayHideTouchListener); 

¿Hay algo malo en mi código?

4 Solutions collect form web for “Imagen de Android se desvanece animación”

Pruebe este código, su usando ViewPropertyAnimator:

 View.OnTouchListener mDelayHideTouchListener = new View.OnTouchListener() { @Override public boolean onTouch(View view, MotionEvent motionEvent) { view.animate().alpha(0.2f).setDuration(1000); } }; 

Siempre es bueno establecer una duración, por lo que la animación sabe cuánto tiempo se supone que se ejecute.

EDIT: Es posible que desee adjuntarlo a un MotionEvent si está utilizando onTouchListener, algo así como:

 View.OnTouchListener mDelayHideTouchListener = new View.OnTouchListener() { @Override public boolean onTouch(View view, MotionEvent motionEvent) { if(motionEvent == MotionEvent.ACTION_DOWN) view.animate().alpha(0.2f).setDuration(1000); } }; 

EDIT 2:

Si desea utilizar un botón su mejor para utilizar un OnClickListener en lugar de onTouchListener, si desea adjuntar una imagen que tiene que iniciar (por ejemplo, en un ImageView):

 Button button = (Button) findViewById(R.id.your_button); ImageView imageView = (ImageView) findViewById(R.id.imgTest); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { imageView.animate().alpha(0.2f).setDuration(1000); } }; 

Es porque estás pasando una identificación cuando el método requiere la View . Trate de pasar en la View .

Así que básicamente cambia ObjectAnimator.ofFloat(R.id.imgTest, "alpha", 0.2f); a ObjectAnimator.ofFloat(view, "alpha", 0.2f);

Aquí hay un ejemplo

 findViewById(R.id.image).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { ObjectAnimator fadeAltAnim = ObjectAnimator.ofFloat(v, "alpha", 0.2f); fadeAltAnim.start(); } }); 

¿Hay alguna razón para usar ObjectAnimator? Puedes hacer:

 AlphaAnimation anim = new AlphaAnimation(startAlphaValue, endAlphaValue); anim.setDuration(duration); view.startAnimation(anim); 
 **try this** public class Animationtest extends Activity { private ImageView imageView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.test); imageView = (ImageView)findViewById(R.id.text); setAnimation(); } private void setAnimation(){ imageView.setOnTouchListener(new OnTouchListener() { @SuppressLint("ClickableViewAccessibility") @Override public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub Toast.makeText(getApplicationContext(), "touch", Toast.LENGTH_LONG).show(); ObjectAnimator fadeAltAnim = ObjectAnimator.ofFloat(imageView, "alpha", 0.2f); fadeAltAnim.start(); return false; } }); } 

}

  • Determinación de valores translationX / Y para ObjectAnimator; cómo mover una vista a una posición de pantalla exacta?
  • Fragmento: Nombre de animación desconocido objectanimator
  • Cómo restablecer ObjectAnimator a su estado inicial?
  • Animación de 3 fragmentos de diseño de panel es tartamudez
  • ¿Cómo animar una matriz para "recortar" una imagen?
  • ¿Es posible cambiar el valor final de ObjectAnimator con la animación iniciada?
  • Android ObjectAnimator anima la traducciónY misma proporción en todos los tamaños de pantalla
  • Infinite ObjectAnimator con interpolador ... ¿Cómo acelerar sólo el inicio inicial?
  • Cómo configurar ProGuard para omitir métodos con SupressWarning ("unused")
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.