java - with - tuto picasso




Rappel de chargement d'image Picasso (4)

Je veux utiliser Picasso pour charger trois images consécutives les unes sur les autres dans une liste. L'utilisation des méthodes fournies par Picasso facilite cette opération. Cependant, comme ces images se chargent à des moments différents, cela provoque un effet de scintillement au fur et à mesure que les images arrivent. Par exemple, parfois, l'image 2 apparaît avant l'image 1 et, lorsque l'image 1 est chargée, elle provoque un bégaiement pas naturel. Ce serait mieux si je pouvais définir la visibilité de la listview sur invisible jusqu'à ce que toutes les images soient disponibles pour être affichées. Cependant, il n'y a pas de méthode de rappel que j'ai pu trouver pour Picasso qui indiquerait le moment où une image a été chargée.

Quelqu'un connaît-il une solution à ce type de situation avec Picasso?

Merci


Cela charge une URL d'image dans une imageview avec de simples rappels picasso

           Picasso.with(this)
            .load(Picurl)
            .into(Imageview, new Callback() {
                        @Override
                        public void onSuccess() {

                        }

                        @Override
                        public void onError() {


                        }
                    }
            );

Et ceci est le chargement d'image picasso avec plus de rappels

private void loadImage() {
    Picasso.with(this)
            .load(PicURL)
            .into(mContentTarget);
  }


private Target mContentTarget = new Target() {
    @Override
    public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
    Imageview.setImageBitmap(bitmap);
    }

    @Override
    public void onBitmapFailed(Drawable errorDrawable) {
    }

    @Override
    public void onPrepareLoad(Drawable placeHolderDrawable) {
    }
};

Voici un exemple simple pour savoir comment importer une image lors du chargement d’une image:

Picasso.with(MainActivity.this)
            .load(imageUrl)
            .into(imageView, new com.squareup.picasso.Callback() {
                        @Override
                        public void onSuccess() {
                            //do smth when picture is loaded successfully

                        }

                        @Override
                        public void onError() {
                            //do smth when there is picture loading error
                        }
                    });

Vous pouvez utiliser l'objet Target . Une fois que target1 reçoit le rappel, vous pouvez télécharger le deuxième élément, le récupérer dans target2 , puis déclencher le troisième téléchargement.








picasso