Android Premiers pas avec Fresco


Exemple

Tout d'abord, ajoutez Fresco à votre build.gradle comme indiqué dans la section Remarques:

Si vous avez besoin de fonctionnalités supplémentaires, telles que le support GIF ou WebP animé, vous devez également ajouter les artefacts de fresques correspondants.

La fresque doit être initialisée. Vous ne devriez le faire qu'une seule fois, il est donc judicieux de placer l'initialisation dans votre Application . Un exemple pour cela serait:

public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        Fresco.initialize(this);
    }
}

Si vous souhaitez charger des images distantes depuis un serveur, votre application a besoin de l'autorisation internt. Ajoutez-le simplement à votre AndroidManifest.xml :

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

Ensuite, ajoutez un SimpleDraweeView à votre disposition XML. Fresco ne prend pas en charge wrap_content pour les dimensions de l'image, car vous pouvez avoir plusieurs images de dimensions différentes (image de substitution, image d'erreur, image réelle, ...).

Vous pouvez donc soit ajouter un SimpleDraweeView avec des dimensions fixes (ou match_parent ):

<com.facebook.drawee.view.SimpleDraweeView
    android:id="@+id/my_image_view"
    android:layout_width="120dp"
    android:layout_height="120dp"
    fresco:placeholderImage="@drawable/placeholder" />

Ou fournissez un ratio d'aspect pour votre image:

<com.facebook.drawee.view.SimpleDraweeView
    android:id="@+id/my_image_view"
    android:layout_width="120dp"
    android:layout_height="wrap_content"
    fresco:viewAspectRatio="1.33"
    fresco:placeholderImage="@drawable/placeholder" />

Enfin, vous pouvez définir votre URI d'image en Java:

SimpleDraweeView draweeView = (SimpleDraweeView) findViewById(R.id.my_image_view);
draweeView.setImageURI("http://yourdomain.com/yourimage.jpg");

C'est tout! Votre espace réservé doit pouvoir être dessiné jusqu’à ce que l’image réseau ait été récupérée.