Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Android, setVisbility no funcionó en RelativeLayout

Estoy utilizando un RelativeLayout para poner una animación rotativa spinner en la parte superior de una imagen de marcador de posición mientras la imagen real se está cargando en un hilo de fondo.

Cuando el mapa de bits real está listo, el código siguiente se ejecuta con en el subproceso de interfaz de usuario con Activity.runOnUiThread (Runnable)

El problema es que todos mis intentos de ocultar la imagen giratoria después de cargar la imagen real parecen fallar. Lo conseguí trabajando finalmente trayendo la visión subyacente de la imagen al frente, pero soy apenas curioso por qué setVisibility (View.GONE) y los otros métodos que intenté no están trabajando. He intentado varios métodos tratando de ocultar la animación rotativa, pero ninguno de ellos funcionó.

La imagen del hilandero se declara simplemente en un ImageView como:

android:src="@drawable/spinner_black_20" 

Entonces comienzo una animación de la rotación en ella. Una vez que la imagen real se carga, aquí es donde intento ocultarlo (en el hilo de interfaz de usuario como se mencionó anteriormente)

 View v = (View)imageView.getParent(); ImageView spinner = (ImageView) v.findViewById(R.id.loading_spinner); if (spinner != null) { spinner.getAnimation().cancel(); // this works, the animation stops spinner.setVisibility(View.INVISIBLE); // doesn't work, spinner bitmap still there spinner.setVisibility(View.GONE); // doesn't work spinner.getDrawable().setVisible(false, false); // tried this, no joy spinner.refreshDrawableState(); // thought this might help, nope spinner.invalidate(); // nor this imageView.bringToFront(); // this works, in that spinner disappears to background } imageView.setImageBitmap(bitmap); 

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.