XBanner我采用的是MVP框架
XBanner首先进行配置
XBanner依赖
implementation 'com.github.xiaohaibin:XBanner:1.6.6'
在根布局allprojects 里添加
maven { url 'https://jitpack.io' }
XBanner需要在Bean类中继承extends SimpleBannerInfo并实现里面的方法
XBanner具体实现方法
<com.stx.xhb.xbanner.XBanner
android:id="@+id/banner1"
app:AutoPlayTime="5000"
app:isClipChildrenMode="true"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_150"
android:layout_marginTop="@dimen/dp_10"
/>
BannerBean bannerBean = (BannerBean) result;
//设置数据
mXBanner.setBannerData(bannerBean.getResult());
//设置图片
mXBanner.loadImage(new XBanner.XBannerAdapter() {
@Override
public void loadBanner(XBanner banner, Object model, View view, int position) {
BannerBean.ResultBean bean=(BannerBean.ResultBean)model;
Glide.with(getActivity()).load(bean.getImageUrl()).into((ImageView) view);
}
});
//点击事件
mXBanner.setOnItemClickListener(new XBanner.OnItemClickListener() {
@Override
public void onItemClick(XBanner banner, Object model, View view, int position) {
BannerBean.ResultBean bean = (BannerBean.ResultBean) model;
if (bean.getJumpUrl().startsWith("wd://")) {
Toast.makeText(getActivity(), "跳转到本地页面", Toast.LENGTH_LONG).show();
} else if (bean.getJumpUrl().startsWith("http://")) {
Toast.makeText(getActivity(), "跳转到web页面", Toast.LENGTH_LONG).show();
}
}
});