Fresco 缓存+进度条+渐进效果

本文介绍了如何在Android应用中使用Fresco库设置磁盘缓存,并演示了如何配置渐进式图片加载,包括创建ImagePipelineConfig和使用GenericDraweeHierarchy实现加载过程中的进度条和图片预加载。

设置缓存

public class MyApp extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        //TODO 设置磁盘缓存的配置 , 生成配置文件
        ImagePipelineConfig week2 = ImagePipelineConfig.newBuilder(this)
                .setMainDiskCacheConfig(DiskCacheConfig.newBuilder(this)
                        .setBaseDirectoryName("week2")//TODO 设置缓存文件名称
                        .setBaseDirectoryPath(Environment.getExternalStorageDirectory())//TODO 设置缓存路径
                        .setMaxCacheSize(10 * 1024 * 1024)//TODO 设置缓存大小
                        .build())
                .build();

        Fresco.initialize(this);
    }
}

进度条 + 渐进式

public class MainActivity extends AppCompatActivity {


    private SimpleDraweeView img;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        img = (SimpleDraweeView) findViewById(R.id.img);
        //TODO 进度条
        GenericDraweeHierarchyBuilder builder = new GenericDraweeHierarchyBuilder(getResources());
        GenericDraweeHierarchy build = builder
                .setFadeDuration(3000)
                .setProgressBarImage(new ProgressBarDrawable())//TODO 设置进度条图片
                .build();
        img.setHierarchy(build);
//        img.setImageURI("http://gank.io/images/f4f6d68bf30147e1bdd4ddbc6ad7c2a2");
        //TODO 渐进式
        AbstractDraweeController adc = Fresco.newDraweeControllerBuilder()
                .setImageRequest(ImageRequestBuilder.newBuilderWithSource(Uri.parse("http://gank.io/images/f4f6d68bf30147e1bdd4ddbc6ad7c2a2"))
                        .setProgressiveRenderingEnabled(true)
                        .build())
                .setTapToRetryEnabled(true)
                .setOldController(img.getController())
                .build();
        img.setController(adc);
    }
}

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值