布局代码:
首先需要导依赖:implementation ‘com.youth.banner:banner:1.4.10’
<com.youth.banner.Banner
android:id="@+id/hunter"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
</com.youth.banner.Banner>
Banner的轮播图实现非常的简单,底层已经封装好,只需要set就可以:
主类代码:
package com.example.day15;
import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.widget.ImageView;
import com.youth.banner.Banner;
import com.youth.banner.BannerConfig;
import com.youth.banner.Transformer;
import com.youth.banner.loader.ImageLoader;
import java.util.ArrayList;
public class Activity_banner extends AppCompatActivity {
Banner hunter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_banner);
hunter = findViewById(R.id.hunter);
//Fragment集合
ArrayList<Integer> imgs = new ArrayList<>();
imgs.add(R.mipmap.bizhi_one);
imgs.add(R.mipmap.bihzi_two);
imgs.add(R.mipmap.bizhi_three);
//标题集合
ArrayList<String> titles = new ArrayList<>();
titles.add("标题1");
titles.add("标题2");
titles.add("标题3");
hunter.setImages(imgs);//向轮播图设置图片
hunter.setImageLoader(new MyImageBanner());//将ImageLoader设置进去
hunter.setBannerTitles(titles);//添加标题
hunter.setDelayTime(3000);//设置延时时间
hunter.isAutoPlay(true);//是否自动轮播
hunter.setIndicatorGravity(BannerConfig.CENTER);//设置文字显示位置
hunter.setBannerAnimation(Transformer.DepthPage);//设置动画
hunter.setBannerStyle(BannerConfig.PADDING_SIZE);//设置style
hunter.start();//开始执行
}
//ImageLoader类
public class MyImageBanner extends ImageLoader {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
imageView.setImageResource(Integer.parseInt(path.toString()));
}
}
}