use of com.youth.banner.holder.BannerImageHolder in project banner by youth5201314.
the class MainActivity method click.
@OnClick({ R.id.style_image, R.id.style_image_title, R.id.style_image_title_num, R.id.style_multiple, R.id.style_net_image, R.id.change_indicator, R.id.rv_banner, R.id.cl_banner, R.id.vp_banner, R.id.banner_video, R.id.banner_tv, R.id.gallery, R.id.topLine })
public void click(View view) {
indicator.setVisibility(View.GONE);
switch(view.getId()) {
case R.id.style_image:
refresh.setEnabled(true);
banner.setAdapter(new ImageAdapter(DataBean.getTestData()));
banner.setIndicator(new CircleIndicator(this));
banner.setIndicatorGravity(IndicatorConfig.Direction.CENTER);
break;
case R.id.style_image_title:
refresh.setEnabled(true);
banner.setAdapter(new ImageTitleAdapter(DataBean.getTestData()));
banner.setIndicator(new CircleIndicator(this));
banner.setIndicatorGravity(IndicatorConfig.Direction.RIGHT);
banner.setIndicatorMargins(new IndicatorConfig.Margins(0, 0, BannerConfig.INDICATOR_MARGIN, BannerUtils.dp2px(12)));
break;
case R.id.style_image_title_num:
refresh.setEnabled(true);
// 这里是将数字指示器和title都放在adapter中的,如果不想这样你也可以直接设置自定义的数字指示器
banner.setAdapter(new ImageTitleNumAdapter(DataBean.getTestData()));
banner.removeIndicator();
break;
case R.id.style_multiple:
refresh.setEnabled(true);
banner.setIndicator(new CircleIndicator(this));
banner.setAdapter(new MultipleTypesAdapter(this, DataBean.getTestData()));
break;
case R.id.style_net_image:
refresh.setEnabled(false);
// 方法一:使用自定义图片适配器
// banner.setAdapter(new ImageNetAdapter(DataBean.getTestData3()));
// 方法二:使用自带的图片适配器
banner.setAdapter(new BannerImageAdapter<DataBean>(DataBean.getTestData3()) {
@Override
public void onBindView(BannerImageHolder holder, DataBean data, int position, int size) {
// 图片加载自己实现
Glide.with(holder.itemView).load(data.imageUrl).thumbnail(Glide.with(holder.itemView).load(R.drawable.loading)).apply(RequestOptions.bitmapTransform(new RoundedCorners(30))).into(holder.imageView);
}
});
banner.setIndicator(new RoundLinesIndicator(this));
banner.setIndicatorSelectedWidth(BannerUtils.dp2px(15));
break;
case R.id.change_indicator:
indicator.setVisibility(View.VISIBLE);
// 在布局文件中使用指示器,这样更灵活
banner.setIndicator(indicator, false);
banner.setIndicatorSelectedWidth(BannerUtils.dp2px(15));
break;
case R.id.gallery:
startActivity(new Intent(this, GalleryActivity.class));
break;
case R.id.rv_banner:
startActivity(new Intent(this, RecyclerViewBannerActivity.class));
break;
case R.id.cl_banner:
startActivity(new Intent(this, ConstraintLayoutBannerActivity.class));
break;
case R.id.vp_banner:
startActivity(new Intent(this, Vp2FragmentRecyclerviewActivity.class));
break;
case R.id.banner_video:
startActivity(new Intent(this, VideoActivity.class));
break;
case R.id.banner_tv:
startActivity(new Intent(this, TVActivity.class));
break;
case R.id.topLine:
startActivity(new Intent(this, TouTiaoActivity.class));
break;
}
}
use of com.youth.banner.holder.BannerImageHolder in project banner by youth5201314.
the class BannerImageAdapter method onCreateHolder.
@Override
public BannerImageHolder onCreateHolder(ViewGroup parent, int viewType) {
ImageView imageView = new ImageView(parent.getContext());
// 注意,必须设置为match_parent,这个是viewpager2强制要求的
ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
imageView.setLayoutParams(params);
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
return new BannerImageHolder(imageView);
}
Aggregations