一 .截取照片 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);
十:加载出来的轮播图设置为圆角