Fresco(截取)

一 .截取照片 SimpleDraweeView

1.依赖

//Fresco依赖
    implementation 'com.facebook.fresco:fresco:1.9.0'
//gif动图依赖
    implementation 'com.facebook.fresco:animated-gif:1.9.0'

2.App

 Fresco.initialize(this);

3.adapter  截取照片

 String[] solit=bean.getImages().split("\\|");
       Uri uri=Uri.parse(solit[0]);
       viewHolder1.icon.setImageURI(uri);

4.布局中的 imageview替换 SimpleDraweeView

二.设置为圆形 无截取

//adapter中设置圆形

1.布局

              <com.facebook.drawee.view.SimpleDraweeView
               android:id="@+id/cicle_con1"
               android:layout_marginLeft="@dimen/dp_20"
               android:layout_width="@dimen/dp_100"
               android:layout_height="@dimen/dp_100"
               fresco:roundAsCircle="true"

2.在APP中写入  

  Fresco.initialize(this);

 3.adapter

    GenericDraweeHierarchy hierarchy = GenericDraweeHierarchyBuilder.newInstance(mcontext.getResources())
                //设置圆形圆角参数;RoundingParams.asCircle()是将图像设置成圆形
                .setRoundingParams(RoundingParams.asCircle())
                //设置淡入淡出动画持续时间(单位:毫秒ms)
                //构建
                .build();
        viewHolder.simpleDraweeView.setHierarchy(hierarchy);

        viewHolder.simpleDraweeView.setImageURI(Uri.parse(mdata.get(i).getHeadPic()));

三,截取照片

单纯的截取照片 

            //从数组里面截取
String[] split=mdata.get(i).getImages().split("\\|");
        Glide.with(mcontext).load(split[0]).into(viewHolder.icon);

四:在主页获取Frescore banner轮播图的数据  不需要截取

 

 

 Frescore banner轮播图的数据  需要截取

1.
 banner.setImageLoader(new ImageLoaderInterface<ImageView>() {
            @Override
            public void displayImage(Context context, Object path, ImageView imageView) {


                 Uri uri=Uri.parse((String) path);
                 imageView.setImageURI(uri);


            }

            @Override
            public ImageView createImageView(Context context) {

            SimpleDraweeView simpleDraweeView=new SimpleDraweeView(context);
               GenericDraweeHierarchyBuilder draweeHierarchyBuilder=new GenericDraweeHierarchyBuilder(getResources());
                return simpleDraweeView;
            }
        });

2.判断
 if(data instanceof BannerBean)
        {
            BannerBean bannerBean= (BannerBean) data;
            List<String> list=new ArrayList<>();
            String[]  split=bannerBean.getResult().getPicture().split("\\,");
            for (int i=0;i<split.length;i++)
            {
                list.add(split[i]);
            }
            banner.setImages(list);
            banner.start();

 五:截取图片https改成http ,以及截取

  String url = mdata.get(i).getImages().split("\\|")[0].replace("https", "http");
        Glide.with(context).load(url).into(viewHolder.icon);

六:截取日期:

  String date = new SimpleDateFormat("yyyy-MM-dd").format(new java.util.Date(mdata.get(i).getConsumerTime()));
        viewHolder.data.setText(date);

七:截取Banner Glide

1.

  banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR);
        
        banner.setImageLoader(new ImageLoaderInterface<ImageView>() {
            @Override
            public void displayImage(Context context, Object path, ImageView imageView) {

                Glide.with(context).load(path).into(imageView);


            }

            @Override
            public ImageView createImageView(Context context) {
                ImageView imageView=new ImageView(context);
                imageView.setScaleType(ImageView.ScaleType.FIT_XY);
                return imageView;
            }
        });

2.

 List<String> list=new ArrayList<>();
        Bean bean= (Bean) data;
        String image=bean.getData().getImages();
        //截取
        String[] split=image.split("\\|");
        title.setText(bean.getData().getTitle());
        price.setText(bean.getData().getPrice()+"");
        for (String s:split)
        {
            list.add(s);
        }
        banner.setImages(list);

        banner.start();

八:Sim变为圆形图片

  if(data instanceof  MyPersonBean)
        {
            //从数组拿出来
            MyPersonBean bean= (MyPersonBean) data;
            Uri uri=Uri.parse(bean.getResult().getHeadPic());
            //变为圆形
            RoundingParams params = RoundingParams.asCircle();
            tx_icon.getHierarchy().setRoundingParams(params);
            tx_icon.setImageURI(uri);

九:Fresco缓存路径

   //在App中写入
DiskCacheConfig diskCacheConfig=DiskCacheConfig.newBuilder(this)
                .setBaseDirectoryName("image0218")
                .setMaxCacheSize(100 * ByteConstants.MB)
                .setBaseDirectoryPath(Environment.getExternalStorageDirectory())
                .build();
        ImagePipelineConfig build = ImagePipelineConfig.newBuilder(this)
                .setMainDiskCacheConfig(diskCacheConfig)
                .build();

        Fresco.initialize(this,build);

十:加载出来的轮播图设置为圆角

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值