一:FlyBanner
首先我们先导入依赖:
compile 'com.recker.flybanner:flybanner:1.3'
然后在写一个控件:
<com.recker.flybanner.FlyBanner
android:id="@+id/banner"
android:layout_width="match_parent"
android:layout_height="200dp">
public class MainActivity extends AppCompatActivity {
private FlyBanner banner;
private String[] mImagesUrl = {"http://attach.bbs.miui.com/forum/201303/16/173716jzszx8vbbb0z9o4k.jpg", "http://pic.58pic.com/58pic/13/16/42/18F58PIChTy_1024.jpg", "http://pic28.photophoto.cn/20130929/0034034819144555_b.jpg",};
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment22, container, false);
initNetBanner(v);
return v;
}
private void initNetBanner(View v) {
banner = v.findViewById(R.id.banner);
List<String> imgesUrl = new ArrayList<>();
for (int i = 0; i < mImagesUrl.length; i++) {
imgesUrl.add(mImagesUrl[i]);
}
banner.setImagesUrl(imgesUrl);
}
}
**二:**XBannner:
老规矩先导入依赖:
implementation 'com.github.xiaohaibin:XBanner:1.6.1' 【当前app的build.grade】
maven { url 'https://jitpack.io' }
然后写上控件:
<com.stx.xhb.xbanner.XBanner
android:id="@+id/banner"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_150"
android:layout_marginTop="@dimen/dp_20"
android:clipChildren="false"
app:AutoPlayTime="3000"
app:clipChildrenLeftRightMargin="@dimen/dp_20"
app:isClipChildrenMode="true"
app:isShowIndicatorOnlyOne="false"
app:isShowNumberIndicator="true">
</com.stx.xhb.xbanner.XBanner>
主代码:
private List<LunboBean.ResultBean> list = new ArrayList<>();
private ArrayList<String> mImgesUrl = new ArrayList<>();
//存放图片路径的集合
if (success instanceof LunboBean) {
// 轮播
LunboBean lunboBean = (LunboBean) success;
list.addAll(lunboBean.getResult());
for (int i = 0; i < list.size(); i++) {
mImgesUrl.add(list.get(i).getImageUrl());
}
if (!mImgesUrl.isEmpty()) {
banner.setData(mImgesUrl, null);
banner.loadImage(new XBanner.XBannerAdapter() {
@Override
public void loadBanner(XBanner banner, Object model, View view, int position) {
Glide.with(getActivity()).load(mImgesUrl.get(position)).into((ImageView) view);
}
});
banner.setPageChangeDuration(1000);
banner.setPageTransformer(Transformer.Default);
}
}