壁画图像装载机控制器

时间:2015-08-06 01:36:22

标签: android fresco

我正在使用Fresco图像加载库,我的问题是我可以在适配器中使用它吗?并且我的意思是每次调用bindView时调用控制器,它似乎不是一个问题而且它没有真正描述here

        public void bindView(View view, final Context context, Cursor cursor) {
            DraweeController controller = Fresco.newDraweeControllerBuilder()
            .setOldController(imageview.getController())
            .setUri(Uri.parse("file://" + sdPath))
            .setAutoPlayAnimations(true)
            .build();
            imageview.setController(controller);
        }

第二个问题是我将上述内容用于GIF图像,但它也适用于图像,所以我可以将上述内容用于两者吗?或者我应该仅将上述用于GIF,以及以下用于图像,

Uri uri = Uri.parse(Uri.parse("file://" + sdPath));
SimpleDraweeView imageview = (SimpleDraweeView) findViewById(R.id.my_image_view);
imageview.setImageURI(uri);

我之所以这样问是因为在通用图像加载器中我会像这样调用实例,然后在bindView中使用它,因为它是在适配器中使用它的推荐方法。 / p>

private static class MyCursorAdapter extends CursorAdapter {
        private ImageLoader imageLoader = ImageLoader.getInstance();

        public void bindView(View view, final Context context, Cursor cursor) {
           imageLoader.displayImage("file://" + sdPath, imageview);

        }

1 个答案:

答案 0 :(得分:0)

对动画和静态图像使用第一种方法是完全安全的。实际上,setImageURI被转换为完全相同的东西,除了setAutoPlayAnimations默认为false。 <{1}}会因静态图像而被忽略,因此始终保持真实并不会受到影响。