Android 轻量级轮播组件 CycleViewPager
来源:互联网 发布:做班服的软件手机 编辑:程序博客网 时间:2024/05/29 07:42
最近抽空将项目中最常用的一个轮播组件做了简单的封装,支持无限轮播、设置各种属性。可以略微提高开发效率。
代码:https://github.com/heshiweij/CycleViewPager
特点
CycleViewPager 是一个轻量级的无限轮播图展示控件
- 支持自由选择加载网络图片和本地图片
- 优化了 bitmap 的显示,防止 oom
- 三级缓存优化网络图片,节省流量
- 支持各种属性的设置,可定制
- Activity 生命周期联动
- 使用线程池请求网络
使用方法
权限
<uses-permission android:name="android.permission.INTERNET"/><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
布局
<cn.ifavor.cycleviewpager.view.CycleViewPager android:id="@+id/cvp_main" android:layout_width="match_parent" android:layout_height="150dip" />
代码
设置图片 ResId 方式
mCycleViewPager = (CycleViewPager) findViewById(R.id.cvp_main);Map<String, Integer> map = new TreeMap<String, Integer>();LinkedHashMap<String, Integer> map = new LinkedHashMap<String, Integer>();map.put("1", R.drawable.a);map.put("2", R.drawable.b);map.put("3", R.drawable.c);map.put("4", R.drawable.d);map.put("5", R.drawable.e);mCycleViewPager.setResIdMap(map).setDuration(1000).start();
设置图片 URL 方式
mCycleViewPager = (CycleViewPager) findViewById(R.id.cvp_main);LinkedHashMap<String, String> map = new LinkedHashMap<String, String>();map.put("1", "http://www.2cto.com/meinv/uploads/131124/1-1311242143022C.jpg");map.put("2", "http://www.2cto.com/meinv/uploads/131124/1-131124214242c7.jpg");map.put("3", "http://www.2cto.com/meinv/uploads/131124/1-131124214135a6.jpg");map.put("4", "http://www.2cto.com/meinv/uploads/131124/1-1311242141135E.jpg");map.put("5", "http://www.2cto.com/meinv/uploads/131124/1-13112421404R17.jpg");mCycleViewPager.setURLMap(map).setDuration(1000).start();
方法汇总
注意
建议使用全局 handler,如:
setHandler(BaseApplication.getHanlder())建议在 onDestory 取消轮播,如:
@Override protected void onDestroy() { super.onDestroy(); if (mCycleViewPager != null){ // 取消轮播定时器 mCycleViewPager.cancel(); } }
附录
代码:https://github.com/heshiweij/CycleViewPager
1 0
- Android 轻量级轮播组件 CycleViewPager
- android 自定义轮播banner,包括手动轮播 CycleViewPager
- Android图片轮播组件
- Android 公告轮播组件
- CycleViewPager
- android自定义 图片轮播组件
- 轮播组件vue
- Android App图片轮播效果的组件化
- 【AmazeUI】图片轮播组件
- 开源ZQLoopScrollView轮播组件
- webpack-简易轮播组件
- VueJs制作轮播组件
- yii2 常用组件 -- 轮播
- 自定义JavaScript轮播组件
- android图片轮播第一弹_异步获取和本地获取图片_轻量级可集成到项目中型
- Android 轻量级简单易用的日志组件
- Android轮播广告栏
- Android图片轮播
- ShaderForge学习1
- Android实现滑动功能的总结
- apply、call、bind区别、用法
- Unity中ScrollRect锁定元素详述(一)
- 使用Ubuntu的点滴记录-配置Tomcat
- Android 轻量级轮播组件 CycleViewPager
- java,二进制转换为十进制,valueof和parseInt的区别
- 集合第五发TreeSet和TreeMap
- POJ 1177 Picture(矩形并的周长)
- 从setcontentView说起----Android的Windows
- <LeetCode OJ> 338. Counting Bits
- HDU 1255 覆盖的面积(矩形交的面积)
- COCI 2011/2012 Contest#2(TOJ4484 FUNKCIJA)
- POSIX标准总体分析