Android技术——轮播功能
轮播需要什么? 答:实现图片与广告语展示、循环播发以及手动切换、支持加载本地与网络图片。
性能优化? 答:多张图片与指示器展示、自动与定时、循环播发、滑动流畅并且无卡顿、加载速度、图片点击。
下面介绍一种简单又好用的图片轮播控件-banner
1.先在gradle加入依赖包:compile 'com.youth.banner:banner:1.1.5'
2.布局文件:
<com.youth.banner.Banner
android:layout_width="match_parent"
android:layout_height="300dp"
android:id="@+id/banner">
</com.youth.banner.Banner>
3.然后在Activity进行配置
public class BannerActivity extends AppCompatActivity {
private Banner banner;
//设置图片资源:url或本地资源
String[] images= new String[] {
"http://img.zcool.cn/community/0166c756e1427432f875520f7cc838.jpg",
"http://img.zcool.cn/community/018fdb56e1428632f875520f7b67cb.jpg",
"http://img.zcool.cn/community/01c8dc56e1428e6ac72531cbaa5f2c.jpg",
"http://img.zcool.cn/community/01fda356640b706ac725b2c8b99b08.jpg",
"http://img.zcool.cn/community/01fd2756e142716ac72531cbf8bbbf.jpg",
"http://img.zcool.cn/community/0114a856640b6d32f87545731c076a.jpg"};
//设置图片标题:自动对应
String[] titles=new String[]{
"全场2折起","十大星级品牌联盟",
"嗨购5折不要停","12趁现在",
"嗨购5折不要停,12.12趁现在",
"实打实大顶顶顶顶"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_banner);
banner= (Banner) findViewById(R.id.banner); //绑定id
banner.setBannerStyle(Banner.CIRCLE_INDICATOR_TITLE); //设置样式
banner.setIndicatorGravity(Banner.CENTER); //指示器居中
banner.setBannerTitle(titles); //广告词
banner.isAutoPlay(true); //是否自动播放
banner.setDelayTime(5000); //设置时间
//自定义图片加载框架
banner.setImages(images, new Banner.OnLoadImageListener() {
@Override
public void OnLoadImage(ImageView view, Object url) {
System.out.println("加载中");
Glide.with(getApplicationContext()).load(url).into(view); //glide图片加载 超级好用
System.out.println("加载完");
}
});
//设置点击事件
banner.setOnBannerClickListener(new Banner.OnBannerClickListener() {
@Override
public void OnBannerClick(View view, int position) {
Toast.makeText(getApplicationContext(),"你点击了:"+position,Toast.LENGTH_SHORT).show();
}
});
}
}
4.加入网络权限:
<uses-permission android:name="android.permission.INTERNET" />
展示:
是不是很简单啊!反正我觉得很好用,没有了以前viewPager的卡死,而且配置程度很高,可以灵活的设置图片的数量、循环时间、图片加载的方式,指示器配置等。这个黑科技还不错吧!觉得不错的同学点个赞吧!
想要了解更多的可以去原作者的GitHub Android广告图片轮播控件