2016-01-02 8 views
13

Ich möchte animierte Gif von URL in Android App wie Imgur App spielen. Imagur ist hervorragend und sehr schnell. Ich lade gif mit webview, aber es ist nicht bis zur Marke.Wie gif in Android von URL zu spielen?

+0

können Sie Gleitbibliothek verwenden. Projekt Plaid von Nick Metzger zeigt, wie Sie gifs.https zeigen können: //github.com/nickbcher/plaid – Raghunandan

+0

verweist diese Links für die http://StackOverflow.com/Questions/3660209/Display-Animated-GIF Und eine andere ID http://droid-blog.net/2011/10/14/tutorial-how-to-use-animated-gifs-in-android-part-1/ –

+0

Ich versuchte glide auch, aber es funktioniert nicht. – user3606902

Antwort

10

Sie Glide können gif auf ImageView zu spielen. Also, lassen Sie uns die gradle zu Ihrer App hinzufügen:

repositories { 
    mavenCentral() 
} 

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

Erstellen Sie dann ein ImageView:

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

In Ihrer Tätigkeit:

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); 

Für weitere Informationen öffnen diesen Beitrag Glide — Displaying Gifs & Videos.

+0

Vielen Dank Es funktioniert, aber sich Zeit. Ich brauche eine schnelle Ausgabe. – user3606902

+0

@ user3606902, Sie können 'WebView' stattdessen verwenden: http://stackoverflow.com/a/21018730/3922207 –

+1

Es dauert Zeit, weil es zuerst in den Cache heruntergeladen wird. Wenn Sie eine schnelle Ausgabe wünschen, packen Sie sie in Ihren apk im Ordner "Assets" und greifen Sie von dort darauf zu. – dhuma1981

0

Die einfache Möglichkeit, animiertes GIF direkt von URL zu Ihrem App-Layout anzuzeigen, ist die WebView-Klasse.

Schritt 1: In Ihrem Layout XML

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

Schritt 2: in Ihrer Tätigkeit

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

Schritt 3: In Ihrem manifest.xml machen Internet Erlaubnis

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

Schritt 4: Falls Sie Ihre GIF Hintergrund transparent machen möchten und GIF fit zum Layout machen

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