# InifiniteCycleAd
**Repository Path**: smaboy/InifiniteCycleAd
## Basic Information
- **Project Name**: InifiniteCycleAd
- **Description**: 无限循环轮播图
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2021-12-21
- **Last Updated**: 2021-12-21
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# InifiniteCycleAd
### 无限循环轮播图
##### 实现功能:
1. 无限轮询播放
2. 触摸停止,放开自动开启
3. 有标题内容会自动显示,无标题内容只显示指示器,不显示标题栏
4. 回调接口,可以设置点击事件
##### 使用步骤
1. 将我们自定viewpager放入布局
2. 主页的逻辑也非常简洁
//模拟数据
ArrayList data=new ArrayList<>();
data.add(new AdData_1("标题1","", com.example.smaboy.app.R.drawable.t01));
data.add(new AdData_1("标题2","", com.example.smaboy.app.R.drawable.t02));
data.add(new AdData_1("标题3","", com.example.smaboy.app.R.drawable.t03));
data.add(new AdData_1("标题4","", com.example.smaboy.app.R.drawable.t04));
data.add(new AdData_1("标题5","", com.example.smaboy.app.R.drawable.t05));
//设置数据
viewpager.setAdapter(new InfiniteCycleAdapter(this,data,viewpager));
//设置viewpager滚动循环
viewpager.startScroll(3000);
//添加轮播图的item点击监听
viewpager.setItemClickListener(new InfiniteCycleViewPagerItemClickListener() {
@Override
public void itemClick(View v, ArrayList mData, int position) {
//数据处理
Toast.makeText(MainActivity.this, mData.get(position).getTitle(), Toast.LENGTH_SHORT).show();
}
});
这里我们做的事情,主要有四件:
a. 处理数据,这边我们的数据实体类需要继承我们的BeanInterface接口,实现相关方法
b. 设置数据,这边我们只需要传递我们的上下文、数据集、InfiniteCycleViewPager的实例三个参数
c. 最后就是我们的循环滚动,一行代码搞定,可以设置我们滚动的延时时间
d. 设置轮播图的item点击事件监听,我们可以看到点击事件回调函数中,给我们返回了,三个参数,我们可以通过他们
做许多事情,一般我们可以通过它拿到我们当前页面数据,然后通过url跳转到相应页面
#### 效果图如下所示:
