Android 毕加索-缓存特定的淡入淡出动画

Android 毕加索-缓存特定的淡入淡出动画,android,picasso,Android,Picasso,这似乎是一个简单的想法,但我认为后端可能很复杂。使用列表视图,是否只有在映像已缓存在内存中时才可以使用.noFade()参数?如果它是从Internet加载的,我希望它淡入淡出,但是如果它已经被缓存,那么它应该立即显示 这可能吗?将图像加载到您自己的目标界面中,并对照LoadedFrom参数进行检查: Target target = new Target() { @Override public void onPrepareLoad(Drawable arg0)

这似乎是一个简单的想法,但我认为后端可能很复杂。使用
列表视图
,是否只有在映像已缓存在内存中时才可以使用
.noFade()
参数?如果它是从Internet加载的,我希望它淡入淡出,但是如果它已经被缓存,那么它应该立即显示


这可能吗?

将图像加载到您自己的目标界面中,并对照LoadedFrom参数进行检查:

Target target = new Target() {

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

        }

        @Override
        public void onBitmapLoaded(Bitmap arg0, LoadedFrom loadedFrom) {
         if(LoadedFrom.MEMORY == loadedFrom){
             //TODO -- noFade
         } else {
             //TODO -- fade
         }
        }

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

        }
    };

太好了,谢谢。第二个问题:如何使此
目标
视图持有者
模式中的
图像视图
协同工作?您可以扩展图像视图并使其实现目标界面,或者只需在您的ViewHolder中添加一个目标作为字段,在加载图像后将其用作ViewHolder的ImageView的代理。这可能是一种方法,但是毕加索的实现应该与
视图的生命周期挂钩,以管理请求和缓存。实现自己的
目标
意味着您放弃了该功能,还必须自己管理它。