簡體   English   中英

畢加索和ImageLoader android

[英]Picasso and ImageLoader android

對不起我的英語不好。 首先,我使用了Picasso庫,它是一個很好的庫,有很多可能性,但是它沒有存儲在緩存中。 然后,我了解了ImageLoader優秀的庫,該庫可以將圖像存儲在緩存中。 但是我首先在示例Picasso上進行了應用。 例如,在這里我確實在Picasso模糊了圖像:

//code
    Picasso.with(context).load(profileList.get(0).getImage())
            .resize(100, 100)
            .centerInside()
            .into(target);
//code
private Target target = new Target() {
    @Override
        public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {       
            Bitmap b;
            b = fastblur(bitmap, 3); // fastblur method blur image
            int color = Color.parseColor("#8C2d569c")          
            foneImage.setColorFilter(color); //set filter
            foneImage.setImageBitmap(b); //and set image
        }

        @Override
        public void onBitmapFailed(Drawable arg0) {
            // TODO Auto-generated method stub
        }
        @Override
        public void onPrepareLoad(Drawable arg0) {
            // TODO Auto-generated method stub
        }
    };

但是現在我不知道如何將此代碼移動到ImageLoader 以下是我使用ImageLoader並在ImageView加載圖像的方式

    mImageLoader.displayImage(profileList.get(0).getImage(), imageProfile, null, new ImageLoadingListener() {

                @Override
                public void onLoadingStarted(String arg0, View arg1) {
                    Log.e("Script", "OnLoadeing");
                }

                @Override
                public void onLoadingFailed(String arg0, View arg1, FailReason arg2) {
                    Log.e("Script", "OnLoadeingComplete");
                }

                @Override
                public void onLoadingComplete(String arg0, View arg1, Bitmap arg2) {
                    Log.e("Script", "OnLoadeingFailed");
                }

                @Override
                public void onLoadingCancelled(String arg0, View arg1) {
                    Log.e("Script", "OnLoadeingStarted");
                }
              }, new ImageLoadingProgressListener() {

                @Override
                public void onProgressUpdate(String uri, View view, int current, int total) {
                    Log.e("Script", "OnProgressUpdate" + uri + " " + total);
                }
            })

;

如何添加方法fastblur (bitmap, 3); mImageLoader

UPD:

它回答我的問題

mImageLoader.displayImage(profileList.get(0).getImage(), foneImage, null, new ImageLoadingListener() {

            @Override
            public void onLoadingStarted(String arg0, View arg1) {
                Log.e("Script", "OnLoadeing");
            }

            @Override
            public void onLoadingFailed(String arg0, View arg1, FailReason arg2) {
                Log.e("Script", "OnLoadeingComplete");
            }

            @Override
            public void onLoadingComplete(String arg0, View arg1, Bitmap arg2) {
                Bitmap b;
                b = fastblur(arg2, 5);
                int color = Color.parseColor("#8C2d569c"); //The color u want             
                foneImage.setColorFilter(color);
                foneImage.setImageBitmap(b);
            }

            @Override
            public void onLoadingCancelled(String arg0, View arg1) {
                Log.e("Script", "OnLoadeingStarted");
            }
          }, new ImageLoadingProgressListener() {

            @Override
            public void onProgressUpdate(String uri, View view, int current, int total) {
                Log.e("Script", "OnProgressUpdate" + uri + " " + total);
            }
        });

如果這不是最終類,則應該繼承mImageLoader的原型,然后在該新類中添加您的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM