Android实现最简单的开源轮播图
之前用Android写轮播图时 用的都是viewpage,很繁琐,写适配器,写数据源,想想过程都不想写,今天在公司里涉及到轮播图,我是在原来的项目上做相应的修改,一看原来的前辈写的我没见过的控件,于是乎就去网上查阅了一下,是真的好用,废话少说,看代码:
1.添加依赖
既然是开源的控件,肯定是要添加jar包的:
在build.gradle里面添加这个依赖
implementation 'com.recker.flybanner:flybanner:1.3'
2.添加xml控件
和添加控件一样一样的
<com.recker.flybanner.FlyBanner
android:id="@+id/fb_roll"
android:layout_width="match_parent"
android:layout_height="150dp"
android:layout_marginLeft="@dimen/PX15"
android:layout_marginRight="@dimen/PX15" />
xml效果图:
真机测试图:画红圈圈的地方
3.添加控件实例
在活动里添加控件实例
4.添加数据源
4.1.网络图片
// 轮播图 transition
public void initImageUrl() {
List<String> list = new ArrayList<>();
String ima[] = new String[]{
"http://www.healthyuhang.com:8180/yhapp/upload/xinwen/006230_20200224_0.png",
"http://www.healthyuhang.com:8180/yhapp/upload/xinwen/006230_20200224_2.png",
"http://www.healthyuhang.com:8180/yhapp/upload/xinwen/006230_20200224_1.png"
};
for (int i = 0; i < ima.length; i++) {
list.add(ima[i]);
}
flyBanner.setPointsIsVisible(false);
flyBanner.setImagesUrl(list);
}
//点击事件
mBinding.fbRoll.setOnItemClickListener(new FlyBanner.OnItemClickListener() {
@Override
public void onItemClick(int position) {
}
}
});
4.2.本地图片
// 轮播图 transition
public void initImageUrl() {
List<Integer> list = new ArrayList<>();
list.add(R.drawable.lunbo1_icon);
list.add(R.drawable.lunbo2_icon);
flyBanner.setPointsIsVisible(false);
flyBanner.setImages(list);
}
//点击事件
mBinding.fbRoll.setOnItemClickListener(new FlyBanner.OnItemClickListener() {
@Override
public void onItemClick(int position) {
}
}
});
点击事件是一样的, 唯一不同的就是setImages方法
简直写起来爽爆了,不用写任何的适配器
帮到您 , 给个关注,没帮到,轻轻喷,谢谢观看!!!