Fresco+EventBus

//Fresco
//1.导依赖

//官网https://www.fresco-cn.org/docs/index.html
implementation 'com.facebook.fresco:fresco:0.12.0''

//2.布局

<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/my_image_view"
android:layout_width="130dp"
android:layout_height="130dp"
fresco:placeholderImage="@drawable/my_drawable"
/>

//**3.新建App类,继承Application **

public class App extends Application {
@Override
public void onCreate() {
    super.onCreate();
    //Fresco的初始化

    //磁盘缓存的配置
    DiskCacheConfig diskCacheConfig = DiskCacheConfig.newBuilder(this)
            .setBaseDirectoryPath(getCacheDir())
            .setMaxCacheSize(8*1024*1024)
            .build();
    //把磁盘缓存的设置,设置到三级缓存中
    ImagePipelineConfig pipelineConfig = ImagePipelineConfig.newBuilder(this)
            .setMainDiskCacheConfig(diskCacheConfig)
            .build();
    Fresco.initialize(this,pipelineConfig);//pipelineConfig可不写
}
}

//5.Activity中用法

Uri uri = Uri.parse("https://raw.githubusercontent.com/facebook/fresco/gh-pages/static/logo.png");
SimpleDraweeView draweeView = (SimpleDraweeView) findViewById(R.id.my_image_view);
draweeView.setImageURI(uri);

	//全的sdvIcon和sdvGifIcon为控件
	//加载Fresco图片
    Uri imageUri = Uri.parse("https://ws1.sinaimg.cn/large/0065oQSqgy1fze94uew3jj30qo10cdka.jpg");
    //圆角效果
    RoundingParams roundingParams = RoundingParams.fromCornersRadius(20f);
    sdvIcon.getHierarchy().setRoundingParams(roundingParams);
    //加载显示时的进度条
    sdvIcon.getHierarchy().setProgressBarImage(new ProgressBarDrawable());
    sdvIcon.setImageURI(imageUri);
    //加载Fresco动图
    Uri gifUri = Uri.parse("https://ww1.sinaimg.cn/large/0073sXn7ly1fze96rdfhmg308w0ft7wh");
    DraweeController controller = Fresco.newDraweeControllerBuilder()
            .setUri(gifUri)
            .setAutoPlayAnimations(true)
            .build();
    sdvGifIcon.setController(controller);

//EventBus
//1.依赖

implementation 'org.greenrobot:eventbus:3.1.1'

//2.建一个bean类,放入你要传的数据类型
//3.Activity中的使用,我这个是点击条目,吐司下标

//CrimeBean 为自己创建的bean类
CrimeBean crimeBean = new CrimeBean();
//将下标存入bean类中
          crimeBean.setNumber(position);
EventBus eventBus = EventBus.getDefault();
          eventBus.postSticky(crimeBean);
 //跳转到下一个页面吐司去!
Intent intent=new Intent(ShowActivity.this,LoginActivity.class);
                    startActivity(intent);

//另一个界面

@Override
public void onStart() {
    super.onStart();
    EventBus.getDefault().register(this);
}

@Override
public void onStop() {
    super.onStop();
    EventBus.getDefault().unregister(this);
}
@Subscribe(threadMode = ThreadMode.MAIN,sticky = true)
public void cathZpp(CrimeBean bean_two){
    Toast.makeText(this, "下标是:" + bean_two.getNumber(), Toast.LENGTH_SHORT).show();
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值