2016-01-02 22 views
13

Voglio riprodurre gif animate dall'URL in app Android come l'app imgur. Imagur è superbo e molto veloce. Sto caricando gif con webview ma non è all'altezza del marchio.Come si gioca a gif in Android dall'URL?

+0

è possibile utilizzare la libreria di glide. project plaid by nick butcher mostra come è possibile mostrare gifs.https: //github.com/nickbutcher/plaid – Raghunandan

+0

Si riferisce a questi collegamenti per questo http://stackoverflow.com/questions/3660209/display-animated-gif e un altro id che http://droid-blog.net/2011/10/14/tutorial-how-to-use-animated-gifs-in-android-part-1/ –

+0

ho provato anche a scivolare ma non funziona. – user3606902

risposta

10

È possibile utilizzare Glide a giocare gif su ImageView. Quindi, aggiungiamo al Gradle della tua app:

repositories { 
    mavenCentral() 
} 

dependencies { 
    compile 'com.github.bumptech.glide:glide:3.6.1' 
    compile 'com.android.support:support-v4:23.1.1' 
} 

Poi, creare un ImageView:

<ImageView 
    android:id="@+id/imageView" 
    android:contentDescription="@string/content" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"/> 

Nella vostra attività:

Glide 
    .with(context) // replace with 'this' if it's in activity 
    .load("http://www.google.com/.../image.gif") 
    .asGif() 
    .error(R.drawable.error_image) // show error drawable if the image is not a gif 
    .into(R.id.imageView); 

Per ulteriori informazioni, aprire questo post Glide — Displaying Gifs & Videos.

+0

Grazie, lavora ma richiede tempo. Ho bisogno di risultati rapidi. – user3606902

+0

@ user3606902, è possibile utilizzare 'WebView' invece: http://stackoverflow.com/a/21018730/3922207 –

+1

Ci vuole tempo perché prima venga scaricato nella cache. Se vuoi un output veloce, mettilo nel tuo apk nella cartella delle risorse e accedilo da lì. – dhuma1981

0

Il modo semplice per visualizzare GIF animate direttamente dall'URL nel layout dell'app è utilizzare la classe WebView.

Fase 1: nel layout XML

<WebView 
 
android:id="@+id/webView" 
 
android:layout_width="50dp" 
 
android:layout_height="50dp" 
 
/>

Fase 2: nella vostra attività

WebView wb; 
 
wb = (WebView) findViewById(R.id.webView); 
 
wb.loadUrl("https://.......);

Fase 3: Nei tuoi manifest.xml rendere permesso Internet

<uses-permission android:name="android.permission.INTERNET" />

Fase 4: Nel caso in cui si desidera rendere il vostro sfondo GIF trasparente e fare GIF adatto al layout

wb.setBackgroundColor(Color.TRANSPARENT); 
 
wb.getSettings().setLoadWithOverviewMode(true); 
 
wb.getSettings().setUseWideViewPort(true);