2011-01-28 18 views
11

Qualcuno può fornire un codice per visualizzare le immagini GIF in una visualizzazione Web (sono già in grado di visualizzare lo stesso utilizzando l'animazione dei fotogrammi delle immagini png) Ora voglio un modo per visualizzare le immagini GIF piuttosto che caricare i frame o disegnare le immagini ancora e ancora!Visualizzazione immagine GIF tramite WebView

risposta

15

Gif sono supportati nella visualizzazione web.

scrivere un file HTML come segue:

<html> 
<body bgcolor="white"> 
    <table width="100%" height="100%"> 
     <tr> 
      <td align="center" valign="center"> 
       <font color="gray">Some text you display</font> 
       <br/> 
       <br/> 
       <br/> 
       <br/> 
       <br/> 
       <img src="yourGIF.gif"> 
      </td> 
     </tr> 
    </table> 
</body> 

e memorizzarlo nella cartella "attività" di voi applicazione anche memorizzare la vostra gif nella stessa cartella. E a seguito di mostrarlo:

webview.loadUrl("file:///android_asset/your_html.html"); 
+0

Ho fatto lo stesso come hai detto .. Il GIF è visto chiaramente nella finestra dell'area di lavoro di Eclipse mentre .. solo il primo fotogramma della GIF è mostrato nel display dell'emulatore (#no animazione!) – msumaithri

+0

la stessa cosa funziona nell'applicazione di posta elettronica Android. Uno spinner gira prima che il messaggio venga caricato. C'è qualcosa da impostare su Webview? – Kantesh

+0

Aiuta a mostrare gif ma non risolve gif (o webview) nel layout lineare ad esso assegnato, piuttosto se l'immagine è più lager della dimensione assegnata ad esso. la webview appare con scroll. Si prega di suggerire un modo per evitare di scorrere e correggere la webview nel layout lineare. –

1

sì questo è il diritto che non supporta GIF in Android Un'altra soluzione Come TRonZ WebView supporta gif, basta make a WebView e load the URL of the gif image e si è fatto

+1

Anche in 2.3 GIF non è supportato? – msumaithri

+0

@msumaithri grazie –

+0

Hey ma WebView supporta gif, basta creare una WebView e caricare l'URL dell'immagine GIF e il gioco è fatto. – TRonZ

22

Prova questa ..

WebView wv = (WebView) findViewById(R.id.webView1); 
wv.loadUrl("file:///android_asset/anim5.gif"); 

Chiamate la vostra immagine GIF da attività come questo ..

+2

Semplice e corretto. –

+0

Questo visualizza la gif. Tuttavia, è necessario un po 'di tempo per rendere visibile la GIF. Come posso mostrare subito la GIF? – mrmoment

+1

Dov'è un buon posto dove mettere la directory 'android_asset' all'interno del mio progetto? La sintassi 'file: /// android_asset' mi porta a credere che' android_asset' sia nella directory root del tuo filesystem, ma che non funzionerà se voglio controllare la risorsa nel mio repository ... – dinosaur

0

Non è necessario alcun codice HTML ... Basta usare questa riga

webViewControl.LoadUrl("file://" + pathToTheGifFile); 

Funziona per me.

1

Questa è la soluzione migliore per GIF in Android:

Inserire il seguente dipendenza build.gradle di file del progetto.

dependencies { 
    compile 'pl.droidsonroids.gif:android-gif-drawable:1.1.+' 
} 

poi

The simplest way is to use GifImageView 

<pl.droidsonroids.gif.GifImageView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:src="@drawable/src_anim" 
    android:background="@drawable/bg_anim" 
    /> 

Se drawable dichiarati dal Android: src e/o Android: backgroun d sono file GIF allora saranno riconosciuto automaticamente come GifDrawables e animato. Se il dato drawable non è un GIF, le Views Views funzionano come ImageView e ImageButton.

https://github.com/koral--/android-gif-drawable

+0

Sebbene questo collegamento possa rispondere alla domanda, è meglio includere qui le parti essenziali della risposta e fornire il link per riferimento. Le risposte di solo collegamento possono diventare non valide se la pagina collegata cambia. - [Dalla recensione] (/ recensione/post di bassa qualità/10590628) – Marged

+0

È ora risolto – Spl2nky

0

carichi gif in una WebView e si adatta allo schermo del dispositivo senza alcun codice HTML ... Prova questo codice

mWebView = ((CustomWebView)mRootView.findViewById(R.id.webview)); 
mWebView.loadUrl("file:///android_asset/file.gif"); 
mWebView.getSettings().setLoadWithOverviewMode(true); 
mWebView.getSettings().setUseWideViewPort(true); 
Problemi correlati