先上效果图
一、build.gradle(Module:app)添加依赖
compile 'com.jude:rollviewpager:1.4.6'
二、XML中添加布局(总布局最上边加上xmlns:app…… )
xmlns:app="http://schemas.android.com/apk/res-auto"
<com.jude.rollviewpager.RollPagerView android:id="@+id/vp_roll" android:layout_width="match_parent" android:layout_height="180dp" app:rollviewpager_play_delay="3000" />
app:rollviewpager_play_delay="3000"也就是设置3000ms图片自动滚动一次
三、在Activity.java中findViewById
RollPagerView vp_roll = (RollPagerView) findViewById(R.id.vp_roll);
四、创建自定义适配器
public class LoopAdapter_Scroll extends LoopPagerAdapter { List<Integer> imgList; public LoopAdapter_Scroll(RollPagerView viewPager, List<Integer> imgList) { super(viewPager); this.imgList = imgList; } @Override public View getView(ViewGroup container, int position) { ImageView view = new ImageView(container.getContext()); view.setImageResource(imgList.get(position)); view.setScaleType(ImageView.ScaleType.CENTER_CROP); view.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); return view; } @Override public int getRealCount() { return imgList.size(); } }
五、给RollPagerView关联适配器
List<Integer> imgList = new ArrayList<>();
imgList.add(R.mipmap.bg_topic_1);
imgList.add(R.mipmap.bg_topic_2);
imgList.add(R.mipmap.bg_topic_3);
imgList.add(R.mipmap.bg_topic_4);
imgList.add(R.mipmap.bg_topic_5);
vp_roll.setAdapter(new LoopAdapter_Scroll(vp_roll, imgList));
六、设置点击事件(position + 1 是为了符合大众的 1,而不是程序员的 1,哈哈)
vp_roll.setOnItemClickListener(new com.jude.rollviewpager.OnItemClickListener() {
@Override
public void onItemClick(int position) {
Toast.makeText(getBaseContext(), "点击轮播第" + (position + 1) + "张页面",
Toast.LENGTH_SHORT).show();
}
});
图片轮播实现了,感谢依赖的制作者。