//帮证图片不错乱
··
manager.setGapStrategy(StaggeredGridLayoutManager.GAP_HANDLING_NONE);
···
获取图片的宽高
···
private void getWh() {
WindowManager systemService = (WindowManager) getSystemService(WINDOW_SERVICE);
Display defaultDisplay = systemService.getDefaultDisplay();
DisplayMetrics metrics=new DisplayMetrics();
defaultDisplay.getMetrics(metrics);
widthPixels = metrics.widthPixels;
heightPixels = metrics.heightPixels;
}
···
给布局图片的宽高设值
···
RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) holder.ivWelfareImg.getLayoutParams();
//宽 = 屏幕的一半
layoutParams.width = BaseApp.widthPixels/2 - SystemUtil.dp2px(8);
//左的边距
layoutParams.leftMargin = SystemUtil.dp2px(4);
//上边距
layoutParams.topMargin = SystemUtil.dp2px(6);
if(list.get(position).getScale()!=0){
layoutParams.height= (int) (layoutParams.width/list.get(position).getScale());
}
holder.ivWelfareImg.setLayoutParams(layoutParams);
Glide.with(context).load(list.get(position).getUrl()).into(holder.ivWelfareImg);
···
//刷新适配器( // 处理图片的宽高)
····
private void setImageWhScale() {
for (final FuLiBean.ResultsBean bean:list){
if (bean.getScale()==0){
Glide.with(context).load(bean.getUrl())
.into(new SimpleTarget<Drawable>() {
@Override
public void onResourceReady(@NonNull Drawable resource, @Nullable
Transition<? super Drawable> transition) {
int intrinsicHeight = resource.getIntrinsicHeight();
int intrinsicWidth = resource.getIntrinsicWidth();
//计算宽高比
bean.setScale(intrinsicWidth *1.0f/intrinsicHeight);
notifyDataSetChanged();
}
});
}else{
notifyDataSetChanged();
}
}
}
···