2012-03-21 16 views
11

Qualcuno può dirmi perché il seguente codice non funziona? L'immagine non appare affatto.Android ImageView non sta visualizzando l'immagine?

<?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 non ha un orientamento ..... –

+0

Se si esegue l'app in Android Api 21 o inferiore, è un problema comune Principalmente, è perché si utilizzano immagini ad alta risoluzione e di grandi dimensioni. Ti consiglio di ridimensionare, ridurre le tue immagini. – emiraslan

risposta

2

In che formato è inserito il file drawable? Android preferisce utilizzare principalmente .PNG.

+0

quale scopo si desidera utilizzare l'immagine? Vuoi fare splash screen o altro ??? nd principalmente l'immagine è in formato png. Attiva e controlla – Google

+0

l'immagine è in formato .PNG. e sì, è una schermata iniziale che voglio solo visualizzare questa immagine al centro di uno schermo nero (mentre controllo gli aggiornamenti dal server, ecc.) – comead

+0

L'immagine è grande? O ha bisogno di essere implementato sul tuo file java? E se vuoi centrarlo, potresti usare Gravity per farlo. – Kurty

0

Un bitmap null = immagine inutilizzabile.

Questa è la base su come viene effettivamente utilizzata un'immagine. Quando un'immagine viene utilizzata in Android e viene assegnata, converte l'immagine in una bitmap e, in base a determinati parametri che sono la dimensione e vari altri fattori, può fallire, con il risultato che l'immagine viene convertita e restituita come null dovuta a qualche insuccesso che si è verificato.

-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

Verificare quanto segue:

  1. State invocano setContentView (per la vostra schermata di avvio) sul thread UI
  2. ci sono altre attività (o viste) che sta visualizzando troppo in fretta dopo la schermata iniziale (ad esempio annullando la schermata iniziale setContentView)?
  3. Provare utilizzando match_parent invece di wrap_content su ImageViewlayout_height e layout_width.
-1

Molti dei problemi relativi alle immagini vengono risolti utilizzando le librerie di terze parti come Picasso di Jake Wharton. Ho avuto problemi inspiegabili con il caricamento delle immagini e, in alcuni casi, persino l'errore di memoria. Questo è stato specialmente concepito da immagini modificate (usando Gimp per Mac). Picasso fa il duro lavoro di gestione della memoria e necessaria nella cache ecc

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

+0

Il punto della domanda è che l'immagine non viene visualizzata. Lo scopo di Picasso è completamente diverso –

8

Dove hai messo il file di immagine di origine? È sotto la cartella Drawable? In tal caso, quindi creare mdpi, hdpi, xhdpi, xxhdpi fonte di immagine per l'immagine e inserirli nelle cartelle mdpi, hdpi, xhdpi, xxhdpi.

+0

hmm ho appena notato, che mettere l'immagine nella cartella anydpi non funzionerà – HendraWD

5

Questa è la soluzione che ha funzionato per me dopo aver controllato il layout xml, il tema ecc. Semplicemente modificando "estende l'attività" dalla classe java a "estende AppCompatActivity".

Nel caso in cui alcune delle soluzioni suggerite in precedenza funzionassero per te, altre persone che hanno lo stesso problema con l'immagine di ImageView che non mostra potrebbero provare anche questo.

+0

Questo ha funzionato per me, ma ancora, perché succede? – user4052054

15

Nel mio caso, tutte le immagini di mio frammento non vengono visualizzate quando eseguo la mia applicazione. Il problema è che estendo la mia classe "Attività" da "FragmentActivity". quindi ho solo cambiarla "FragmentActivity" a "AppCompatActivity"

forse questo aiuterà qualcuno.

+1

Ho avuto questa esatta situazione. Cambiare il mio 'Attività' in' AppCompatActivity' invece di 'FragmentActivity' funzionava perfettamente. Inoltre non ha effetto sulla funzionalità. – WeskerTyrant

0

Non creare cartella drawable te stesso. Ricreala con l'opzione Image Asset in Android Studio.

Nel mio caso, il problema era la cartella stessa. avevo creato io stesso una cartella disegnabile. non è corretto nello studio Android dovremmo creare una cartella disegnabile con l'opzione Image Asset. non ho avuto la ragione, ma ora il problema è sloved.

0

Nel mio caso, l'immagine non era visibile mentre si sceglie l'immagine dall'elenco di immagini.

La ricostruzione del progetto è stata risolta per me.

Build -> Ricostruisci Progetto

-1

Ho avuto questo stesso problema. Non riesco davvero a credere quanto sia stato semplice. Anche se questo potrebbe non essere il problema per te, questo lo ha risolto per me. Il mio file immagine è stato chiamato ss-logo.png. Android Studio non consente i trattini nei file di immagine. Una volta cambiato in ss_logo.png, ha funzionato perfettamente. Utilizzare solo lettere, numeri e caratteri di sottolineatura nel nome del file immagine. Spero che questo ti aiuti.

0

Controllare il colore dell'immagine ... Se si utilizza lo sfondo bianco e se si utilizza l'immagine del colore bianco, non verrà visualizzato ... Provare a cambiare il contenitore dello sfondo per l'immagine con un altro colore o modificare il tuo colore dell'immagine. Ho davvero affrontato questa situazione e perso molto tempo ... Spero che questo possa aiutare qualcuno ...

Problemi correlati