public class BGABannerAdapter implements BGABanner.Adapter<ImageView, String> {
private Context context;
//设置图片宽高比
float scale = (float) 750 / (float) 320;
int screenWidth;
public BGABannerAdapter(Context context) {
this.context = context;
this.screenWidth = getScreenWidth();
}
private int getScreenWidth(){
//获取屏幕的宽度
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Point size = new Point();
wm.getDefaultDisplay().getSize(size);
screenWidth = size.x;
System.out.println("screenWidth:" + screenWidth);
return screenWidth;
}
@Override
public void fillBannerItem(BGABanner banner, ImageView itemView, String model, int position) {
//计算BGABanner的应有高度
int viewHeight = Math.round(screenWidth / scale);
//设置BGABanner的宽高属性
ViewGroup.LayoutParams banner_params = banner.getLayoutParams();
banner_params.width = screenWidth;
banner_params.height = viewHeight;
banner.setLayoutParams(banner_params);
//此处使用的是glide的override函数直接设置图片尺寸
Glide.with(itemView.getContext())
.load(model)//R.mipmap.cover_default
.apply(new RequestOptions().placeholder(R.drawable.bannerer).error(R.drawable.bannerer).dontAnimate().centerCrop())
.into(itemView);
}
关于BGABanner的图片自适应
最新推荐文章于 2020-03-12 16:42:22 发布
本文介绍了一个自定义的BGABannerAdapter类,用于Android应用中的轮播图展示。该适配器实现了根据屏幕宽度自动调整图片高度的功能,确保了图片在不同设备上的显示效果一致。通过Glide加载图片并设置了默认占位图和错误图。
1万+

被折叠的 条评论
为什么被折叠?



