如何用viewpager写一个简单易用的安卓Bannner实现轮播
2017-04-21 18:34
696 查看
前段时间项目中要写一个轮播图,之前直接在网上随便找了一个,但是用起来有些麻烦,并且不灵活,比如不支持指示器的图片设置,不支持指示器图片的大小等等,还有出现了滑动冲突,于是决定自己封装一个,解决这些问题,于是有了这篇博客。也就是说这个Banner 能更灵活的设置指示器,解决冲突, 仅此支持触摸停止自定播放,非触摸重新轮播,简单易用,只要把BannerInfo类集合正确加入即可
jar包的链接地址
jar包的链接地址
jar包的链接地址
网络请求权限:
jar包的链接地址
jar包的链接地址
jar包的链接地址
1.导入以上的jar包
必须依赖Picasso compile ‘com.squareup.picasso:picasso:2.5.2’网络请求权限:
测试的图片链接: http://static.kaytrip.com/uploads/new_style/201703/PJhe9kxkjZ.jpg http://static.kaytrip.com/uploads/new_style/201704/HMzdNwGL8p.jpg http://static.kaytrip.com/uploads/new_style/201612/HnJb3hluX1.jpg http://static.kaytrip.com/uploads/new_style/201612/UCLWlfq39E.jpg http://static.kaytrip.com/uploads/new_style/201607/lZm9nfpxFN.jpg[/code]2.在布局的响应位置添加FbxBanner
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_ 4000 parent" tools:context="kaiyuan.dmeo.MainActivity"> <kaiyuan.bannerlibrary.FbxBanner android:id="@+id/banner" android:layout_width="match_parent" android:layout_height="200dp"/> </RelativeLayout>3.找控件
mFbxBanner = (FbxBanner) findViewById(R.id.banner);4. BannerInfo广告类的集合
private List<BannerInfo> list = new ArrayList<>(); List<String> urlList = new ArrayList<String>(); urlList.add("http://static.kaytrip.com/uploads/new_style/201703/PJhe9kxkjZ.jpg"); urlList.add("http://static.kaytrip.com/uploads/new_style/201704/HMzdNwGL8p.jpg"); urlList.add("http://static.kaytrip.com/uploads/new_style/201612/HnJb3hluX1.jpg"); urlList.add("http://static.kaytrip.com/uploads/new_style/201612/UCLWlfq39E.jpg"); urlList.add("http://static.kaytrip.com/uploads/new_style/201607/lZm9nfpxFN.jpg"); for (int i = 0; i < urlList.size(); i++) { BannerInfo bannerInfo = new BannerInfo(); //将网络请求的地址加入 bannerInfo.setUrl("图片的链接"); //BannerInfo集合的大小 ,比方说有五张图片,则一次添加进集合 list.add(bannerInfo); }5. BannerInfo集合添加完毕之后就可以开始了
mFbxBanner.setBannerDate(list);//将BannerInfo集合设置进去 mFbxBanner.setCycle(true);//是否可以循环 //指示器选中和未选中的图片 mFbxBanner.setIndecatorDrawable(R.drawable.shop_indicator, R.drawable.shop_indicator_two); //指示器图片的距离 mFbxBanner.setIndecatorMagin(20); //指示器的位置,左边:“lift” 右边:“right” 默认中间 mFbxBanner.setIndecatorToLayout(""); //是否自动播放 mFbxBanner.setAutoPlay(true); //自动播放的时间 mFbxBanner.setTimeToAutoPlay(4000); //设置指示器图片的大小 mFbxBanner.setIndecatorIconSize(50,20); //点击图片获取当前的图片位置 mFbxBanner.setOnBannerClickItemListener(new FbxBanner.OnBannerClickItemListener() { @Override public void onClickItem(int position) { Toast.makeText(MainActivity.this, position + "", Toast.LENGTH_SHORT).show(); } }); //设置完毕调用这个开始执行 mFbxBanner.start();
相关文章推荐
- 【安卓-自定义布局】安卓App开发思路 一步一个脚印(六)实现ViewPager最基本的
- 【安卓-自定义布局】安卓App开发思路 一步一个脚印(七)实现ViewPager无限循环与自动播放
- 安卓_图片轮播效果,RollViewPager的简单使用
- 非常简单的方法实现ViewPager自动循环轮播
- Multiple-View ViewPager-如何实现Viewpager控件的一个页面展示多个page以及回弹效果
- viewPager+Handler+Timer简单实现广告轮播效果
- 利用UIScrollView实现一个简单的图片轮播
- 安卓(Android)ViewPager+TabLayout实现图片轮播效果
- 关于ListView的上方如何增加一个Viewpager,实现整体上下滑动
- Android利用ViewPager实现一个简单的载入界面
- 如何实现viewpager自动轮播
- 安卓:Handler实现图片轮播(非ViewPager)
- 简单使用viewpager+handler实现图片的轮播
- viewpager实现简单的轮播效果
- 简单实现viewpager 自动轮播,触摸停止轮播,离开继续轮播
- 安卓自定义View----且看如何巧妙地实现一个类似于电视遥控板的环形按钮效果(上)
- Android上实现一个简单的天气预报APP(十三) 导航ViewPager
- RollViewPager简单实现android图片轮播效果
- 在安卓中,怎么通过ViewPager来实现轮播图的效果?
- Android之ViewPager自动循环播放(轮播)效果实现(超简单)