2012-03-21 19 views
11

¿Alguien me puede decir por qué el siguiente código no funciona? La imagen no aparece en absoluto.Android ImageView no muestra la imagen?

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 

    <ImageView 
      android:src="@drawable/splashscreen" 
      android:scaleType="center" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" /> 

</RelativeLayout> 
+0

RelativeLayout no tiene una orientación ..... –

+0

Si ejecuta la aplicación en Android Api 21 o inferior, es un problema común Principalmente, es porque usa imágenes de alta resolución y gran dimensión. Te recomiendo que cambies el tamaño, encoja tus imágenes. – emiraslan

Respuesta

2

¿En qué formato está su archivo dibujable? Android prefiere usar .PNG principalmente.

+0

¿Para qué propósito desea utilizar la imagen? ¿Desea hacer una pantalla de bienvenida u otra? La mayoría de las imágenes están en formato png. Compruebe y compruebe – Google

+0

la imagen está en formato .PNG. y sí, es una pantalla de bienvenida que solo quiero mostrar esta imagen en el centro de una pantalla en negro (mientras reviso las actualizaciones del servidor, etc.) – comead

+0

¿La imagen es grande? ¿O necesita ser implementado en su archivo java? Y si quiere centrarlo, puede usar Gravity para hacer eso. – Kurty

0

Un mapa de bits nulo = imagen inutilizable.

Esta es la base de cómo se usa realmente una imagen. Cuando se utiliza una imagen en Android y se asigna, realmente convierte la imagen en un mapa de bits, y dependiendo de ciertos parámetros como el tamaño y varios otros factores, puede fallar, lo que daría como resultado que la imagen se convirtiera y se devuelva como nula. a alguna falla que ocurrió.

-1
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 

    <ImageView 
     android:id="@+id/imageView1" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:src="@drawable/ic_launcher" /> 

</LinearLayout> 
1

las siguientes comprobaciones:

  1. invoca usted setContentView (para su pantalla de inicio) en el subproceso de interfaz de usuario
  2. ¿Hay otras actividades (o vistas) que se esté viendo demasiado rápido después de su pantalla de bienvenida (es decir, anulando la pantalla de bienvenida setContentView)?
  3. Intentando usar match_parent en lugar de wrap_content en el ImageViewlayout_height y layout_width.
-1

Muchos de los problemas relacionados con la imagen se resuelven utilizando las bibliotecas de terceros como Picasso de Jake Wharton. Tuve problemas inexplicables con la carga de imágenes y algunas veces incluso salí de error de memoria. Eso fue especialmente cubierto por imaged editado (usando Gimp para Mac). Picasso hace el trabajo duro de manejar la memoria y el almacenamiento en caché necesario, etc.

http://square.github.io/picasso/

+0

El punto de la pregunta es que la imagen no se muestra. El propósito de Picasso es completamente diferente –

8

¿Dónde pusiste el archivo de imagen de origen? ¿Eso está debajo de la carpeta Drawable? Si es así, cree una fuente de imágenes mdpi, hdpi, xhdpi, xxhdpi para la imagen y colóquelas en las carpetas mdpi, hdpi, xhdpi, xxhdpi.

+0

hmm Acabo de notar que poner una imagen dentro de la carpeta anydpi no funcionará – HendraWD

5

Esta es la solución que funcionó para mí después de comprobar el diseño xml, tema, etc. Simplemente cambiando la "actividad de extensiones" de su clase java a "extiende AppCompatActivity".

Si algunas de las soluciones sugeridas anteriormente le funcionaran, otras personas que tengan el mismo problema con la imagen de ImageView que no se muestre también podrían intentarlo.

+0

Esto funcionó para mí, pero aún así, ¿por qué sucede? – user4052054

15

En mi caso, todos los imageViews de mi fragmento no se muestran cuando ejecuto mi aplicación. El problema es que extiendo mi clase "Actividad" de "FragmentActivity". por lo que sólo lo cambio "FragmentActivity" a "AppCompatActivity"

tal vez esto ayude a alguien.

+1

Tuve esta situación exacta. Cambiar mi 'Activity' a' AppCompatActivity' en lugar de 'FragmentActivity' funcionó a la perfección. Tampoco afecta la funcionalidad. – WeskerTyrant

0

No te crear carpeta dibujable mismo. Vuelva a crearlo con Image Asset opción en android studio.

En mi caso, el problema era la propia carpeta dibujable. Yo mismo había creado una carpeta dibujable. no es correcto. en el estudio de Android deberíamos crear una carpeta dibujable con la opción de Image Asset. No entendí el motivo, pero ahora el problema es un problema.

0

En mi caso, la imagen no era visible al elegir la imagen de la lista de imágenes.

Reconstrucción del proyecto solucionado por mí.

Build -> Reconstruir Proyecto

-1

que tenía este mismo problema. Realmente no puedo creer lo simple que fue. Aunque este no sea el problema para ti, esto lo solucionó. Mi archivo de imagen se llamaba ss-logo.png. Android Studio no permite guiones en los archivos de imagen. Una vez que lo cambié a ss_logo.png, funcionó perfectamente. Solo use letras, números y guiones bajos en su nombre de archivo de imagen. Espero que esto ayude.

0

Compruebe el color de su imagen ... Si está utilizando el fondo blanco y si utiliza la imagen en color blanco, entonces no se mostrará ... Intente cambiar el contenedor de fondo de la imagen por otro color o cambie el color de tu imagen Realmente enfrenté esta situación y perdí mucho tiempo ... Espero que esto ayude a alguien ...

Cuestiones relacionadas