【问题标题】:Fresco image loader controllerFresco 图像加载器控制器
【发布时间】:2015-08-07 22:02:58
【问题描述】:

我正在使用 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 中使用它,因为这是在适配器中使用它的推荐方式。

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);

        }

【问题讨论】:

    标签: android fresco


    【解决方案1】:

    将第一种方法用于动画和静态图像是完全安全的。事实上,setImageURI 被翻译成完全相同的东西,除了 setAutoPlayAnimations 默认为 false。 setAutoPlayAnimations 对于静态图像会被忽略,所以让它始终为 true 并没有什么坏处。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-02
      • 1970-01-01
      相关资源
      最近更新 更多