//添加依赖 implementation ‘com.xuezj.cardbanner:cardbanner:2.0.1’
布局
<com.xuezj.cardbanner.CardBanner
android:id="@+id/fragmentone_banner"
android:layout_width=“match_parent”
android:layout_height="@dimen/dp_150">
</com.xuezj.cardbanner.CardBanner>
Activity
package com.bawei.zhaojianfu2019813.view.fragment;
import android.content.Context;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import com.bawei.zhaojianfu2019813.R;
import com.bawei.zhaojianfu2019813.model.bean.BeanBanner;
import com.bawei.zhaojianfu2019813.model.http.Canstan;
import com.bawei.zhaojianfu2019813.presenter.HomePresenterBanner;
import com.bawei.zhaojianfu2019813.view.interfaces.IContract;
import com.bumptech.glide.Glide;
import com.google.gson.Gson;
import com.xuezj.cardbanner.CardBanner;
import com.xuezj.cardbanner.ImageData;
import com.xuezj.cardbanner.imageloader.CardImageLoader;
import java.util.ArrayList;
import java.util.List;
public class FragmentOne extends Fragment implements IContract.banner {
private List<BeanBanner.ResultBean> result;
private CardBanner fragmentone_banner;
private HomePresenterBanner homePresenterBanner;
private List<ImageData> list= new ArrayList<>();;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View inflate = inflater.inflate(R.layout.fragmentone, null);
fragmentone_banner = inflate.findViewById(R.id.fragmentone_banner);
homePresenterBanner = new HomePresenterBanner();
homePresenterBanner.banner(Canstan.banner);
homePresenterBanner.attch(this);
return inflate;
}
@Override
public void banner(String data) {
Gson gson = new Gson();
final BeanBanner beanBanner = gson.fromJson(data, BeanBanner.class);
result = beanBanner.getResult();
//得到长度
for (int i = 0; i < result.size(); i++) {
ImageData imageData = new ImageData();
String imageUrl = result.get(i).getImageUrl();
imageData.setImage(imageUrl);
list.add(imageData);
}
fragmentone_banner.setDatas(list).setCardImageLoader(new CardImageLoader() {
@Override
public void load(Context context, ImageView imageView, Object path) {
Glide.with(context)
.load(path)
.into(imageView);
}
}).setPlay(true).start();
}
@Override
public void onDestroy() {
super.onDestroy();
homePresenterBanner.datach();
}
}