Android: desvanece la vista en y fuera
Tengo que mostrar un botón de imagen que se desvanece dentro y fuera (y en y fuera y así sucesivamente …) La transparencia se puede establecer con setAlpha, pero ¿cómo puedo fade in y out? Quiero decir que no puedo hacerlo en otro hilo, porque usted necesita hacer esas cosas en el hilo de la interfaz de usuario, ¿verdad?
Supongo que se puede hacer con animaciones pero no he encontrado nada, porque no tengo ninguna experiencia con animaciones y realmente no sé qué buscar …
- Edición de Android: Ver con desplazamiento sin fin
- Cómo manejar SecurityException lanzado de startActivity con el selector?
- Enlace compartido en WhatsApp desde el sitio web móvil (no en la aplicación) para Android
- Android - ¿Cómo puedo activar una validación para un campo edittext
- ¿De todos modos para autenticar a un usuario que usa Google Apps en una aplicación de Android?
Realmente lo que realmente quiero es desvanecer una imagen y otra más, pero supongo que la forma más fácil es colocar el botón de la primera imagen debajo de la segunda y acaba de desvanecerse de la segunda. ¿O hay una manera más fácil de hacerlo?
- Uso de la memoria de imagen de fondo Android
- ¿Se puede compartir de forma segura el ID de Android View en varias actividades?
- Descubrimiento del servicio directo WiFi de Android y duración de la batería
- Gestionar los cambios de suscripción en la facturación en Android de la aplicación
- Android: solicitud Http GET no se puede conectar
- Alerta de proximidad para ubicaciones guardadas en el servidor
- Cómo corregir este error: java.lang.OutOfMemoryError
- Coordenadas de recorte de Android
Aquí está la solución que estoy usando ahora, que funciona en el nivel de API inferior a 12:
AlphaAnimation anim = new AlphaAnimation(1.0f, 0.0f); anim.setDuration(1000); anim.setRepeatCount(NUM_REPEATS); anim.setRepeatMode(Animation.REVERSE); button.startAnimation(anim);
Esta es una animación que usamos en nuestro proyecto. Spinner es una vista para que pueda cambiar esto con su imagen. Por lo tanto, en efecto, 2 imágenes encima de eachother, uno visible invisible. Así es como lo hicimos. Espero eso ayude.
spinner.setVisibility(View.VISIBLE); spinner.setAlpha(0); spinner.animate().setDuration(200).alpha(1).setListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { spinner.setVisibility(View.VISIBLE); } }); infoActivityContent.animate().setDuration(200).alpha(0).setListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { infoActivityContent.setVisibility(View.GONE); mainPresenter.logout(); } });
Tienes que leer Crossfading Two Views de Android developers
. En este tutorial se explica cómo hacer lo que quieres.
Implementar la clase de animación (puede cargarlo a través de XML o crear dinámicamente).
A continuación, puede establecer a través de API setAnimation (animación de animación).
Puede hacer que varios fotogramas secuenciales de su primera imagen se transformen en su segunda imagen y viceversa, luego definirlos como animation-list
e iniciar la animación en onCreate
Button_frames.xml:
<?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:drawable="@drawable/frame1" android:duration="100" /> <item android:drawable="@drawable/frame2" android:duration="100" /> ....
diseño:
<ImageView android:id="@+id/button" android:background="@drawable/button_frames"/>
OnCreate:
ImageView button= (ImageView)findViewById(R.id.button); mAnimation = (AnimationDrawable) animationView.getBackground(); button.postDelayed(new Runnable() { public void run() { mAnimation.start(); } }, 100);
- ¿Cómo personalizar el botón?
- No se puede pasar el objeto personalizado en un intento: El método Poner extra es ambiguo para el tipo Intención