1. 效果先行

先上一张最简单,最普通的效果图。

2. 是你想要的么?

这个框架使用起来非常简单,简单的说起来就是三步。
第一:添加依赖

dependencies {compile "com.android.support:support-v4:+"compile 'com.squareup.picasso:picasso:2.3.2'compile 'com.nineoldandroids:library:2.4.0'compile 'com.daimajia.slider:library:1.1.5@aar'
}
第二:配置权限
<!-- if you want to load images from the internet -->
<uses-permission android:name="android.permission.INTERNET" /> <!-- if you want to load images from a file OR from the internet -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
第三:添加控件
<com.daimajia.slider.library.SliderLayoutandroid:id="@+id/slider"android:layout_width="match_parent"android:layout_height="200dp"
/>
这不是本文的重头戏,详情见写出框架的大神daimajia,一定要去github上看下这个框架的使用说明,地址点击打开链接

3.  干货

做了上面三步后,通过id拿到SliderLayout的对象,所有的代码都是围绕它来进行的,SliderLayout通过add()方法可以添加两种对象,分别为TextSliderview和defaultSliderview,我画了个草图,真的草图,表示他们的关系。
其中defaultSliderviewt是简单的一种轮播,只有图片在变化,当然还有简单的指示器,没有文字,也没有覆盖在指示器上的灰条,最开始那张动态图就是它的效果,代码用起来也非常简单,

 DefaultSliderView defaultSliderView1 = new DefaultSliderView(this);
defaultSliderView1
.image("http://img5.duitang.com/uploads/item/201410/06/20141006110302_kW8Uf.jpeg");
sliderShow.addSlider(defaultSliderView1);
DefaultSliderView defaultSliderView2 = new DefaultSliderView(this);
defaultSliderView2
.image("http://img2.imgtn.bdimg.com/it/u=3284258022,2153387292&fm=21&gp=0.jpg");
sliderShow.addSlider(defaultSliderView2);
DefaultSliderView defaultSliderView3 = new DefaultSliderView(this);
defaultSliderView3
.image("http://img2.imgtn.bdimg.com/it/u=3277036996,2218800824&fm=21&gp=0.jpg");
sliderShow.addSlider(defaultSliderView3);
DefaultSliderView defaultSliderView4 = new DefaultSliderView(this);
defaultSliderView4
.image("http://img4.imgtn.bdimg.com/it/u=1645083752,2605945880&fm=21&gp=0.jpg");
sliderShow.addSlider(defaultSliderView4);

TextSliderviewt是相对比较高级点的,先看它的效果图,点击事件什么两种都是可以设置的
代码也比较简单好用,而且我代码注释中将各个属性方法的意思都说明了,这里就不说了,直接上代码了,看代码吧
     TextSliderView textSliderView1 = new TextSliderView(this);
textSliderView1.image("http://img5.duitang.com/uploads/item/201410/06/20141006110302_kW8Uf.jpeg")
.description("日女");
textSliderView1.setOnSliderClickListener(new BaseSliderView.OnSliderClickListener() {
@Override
public void onSliderClick(BaseSliderView slider) {
Toast.makeText(MainActivity.this,"日女",Toast.LENGTH_SHORT).show();
}
});
TextSliderView textSliderView2 = new TextSliderView(this);
textSliderView2.image("http://img2.imgtn.bdimg.com/it/u=3284258022,2153387292&fm=21&gp=0.jpg")
.description("猴子");
textSliderView2.setOnSliderClickListener(new BaseSliderView.OnSliderClickListener() {
@Override
public void onSliderClick(BaseSliderView slider) {
Toast.makeText(MainActivity.this,"猴子",Toast.LENGTH_SHORT).show();
}
});
TextSliderView textSliderView3 = new TextSliderView(this);
textSliderView3.image("http://img2.imgtn.bdimg.com/it/u=3277036996,2218800824&fm=21&gp=0.jpg")
.description("赵云");
TextSliderView textSliderView4 = new TextSliderView(this);
textSliderView4.image("http://img4.imgtn.bdimg.com/it/u=1645083752,2605945880&fm=21&gp=0.jpg")
.description("金克斯");
sliderShow.addSlider(textSliderView1);
sliderShow.addSlider(textSliderView2);
sliderShow.addSlider(textSliderView3);
sliderShow.addSlider(textSliderView4);
sliderShow.setPresetIndicator(SliderLayout.PresetIndicators.Center_Bottom);  //这里用来设置阴影部分,在这里是中心底部的黑色阴影
sliderShow.setDuration(2000);  //shijian
sliderShow.setPresetTransformer(SliderLayout.Transformer.RotateUp); //切换的动画

这最后就是指示器的个性化,框架里提供了6种指示器,顺便说一句,同时提供了15中动画,但是水平有限我想使用他提供的PagerIndicator时总是有点问题,指示器位置在xml文件里怎么调整都是在图片布局的左上方,实在不知道为什么,见图吧。

至于指示器的使用和sliderlayout一样的,

private PagerIndicator pagerIndicator;
pagerIndicator = (PagerIndicator) this.findViewById(R.id.custom_indicator);
sliderShow.setCustomIndicator(pagerIndicator);   //指示器

如果知道怎样调整指示器位置的麻烦评论说一声,谢谢了!

4. 道友留步

这个demo源码在这里,开不开心。最后在提一句,我们在项目实践中,一般将textsliderview或者defaultsliderview所要添加的方法参数写成一个bean类,然后通过http拿到数据,解析成这个bean类的集合,在循环遍历将bean的属性通过textsliderview或者defaultsliderview对象添加进去。

酷炫的图片轮播框架AndroidImageSlider相关推荐

  1. HTML+CSS+JS实现 ❤️slicebox酷炫3d图片轮播切换❤️

  2. Android 图片轮播框架 ImageSlider 炫酷轮播 简单使用

    1.Android studio用户添加依赖: compile 'com.squareup.picasso:picasso:2.5.2' compile 'com.nineoldandroids:li ...

  3. banner(图片轮播)框架的使用

    展示效果 1.Gridle文件添加: compile 'com.youth.banner:banner:1.4.9'  //最新版本 2.AndroidManifest.xml添加权限 <use ...

  4. html5圆形图片轮播,jQuery超酷响应式圆形图片轮播图特效

    mislider是一款效果非常酷的jQuery响应式圆形图片轮播图特效插件.该轮播图特效可以将图片以圆形图片显示,然后使图片无限循环形成轮播图或旋转木马特效.该轮播图插件的特点有: 使用简单 在同一个 ...

  5. java实现轮播图片_Banner框架实现图片轮播

    Banner 实现图片轮播 简介 导入 自定义样式 快捷使用 总结 Blog如有不对,敬请斧正 喜欢Android的可以关注我,日常更新Android干货 看都看到这了,加个关注叭! 简介 Banne ...

  6. android github轮播图,Android使用开源框架ANDROID-IMAGE-INDICATOR实现图片轮播部署

    之前的博文中有介绍关于图片轮播的实现方式,分别为(含超链接): 今天通过使用GitHub中的开源项目android-image-indicator来简单实现APP自带图片的轮播以及加载网络图片进行轮播 ...

  7. HTML圆形立体感轮播图,jQuery超酷响应式圆形图片轮播图特效

    mislider是一款效果非常酷的jQuery响应式圆形图片轮播图特效插件.该轮播图特效可以将图片以圆形图片显示,然后使图片无限循环形成轮播图或旋转木马特效.该轮播图插件的特点有: 使用简单 在同一个 ...

  8. 使用三方框架FlashView在自己的项目中实现图片轮播

    1 在gitHub中下载FlashView的Module 2 在安卓studio中通过 new-import Module,将flashView所在的文件夹目录导入,将名字改为lib_flashVie ...

  9. 十个jQuery的幻灯片图片轮播切换插件[转]

    1.Simple Controls Gallery 是基于jQuery的一个幻灯插件,非常不错,详细演示及下载请点击下面的链接 http://www.dynamicdrive.com/dynamici ...

最新文章

  1. WebAssembly Studio:Mozilla提供的WASM工具
  2. ElasticSearch之集群原理
  3. Apache 配置支持HTTPS的SSL证书
  4. 2020 新兴技术炒作周期曲线:这 5 个趋势值得注意
  5. linux下vi修改文件用法
  6. Spark:通过start-slaves.sh脚本启动worker报错:Permission denied
  7. react 版权问题_react兼容ie
  8. 2014 百度之星 1003 题解 Xor Sum
  9. MyCat分片规则之取模分片
  10. 雷达威力图绘制matlab,用Matlab语言实现雷达探测范围图的绘制
  11. 音乐剪辑大师/Audio Editor
  12. python OpenCV给视频去除水印
  13. 全球四大会计师事务所
  14. php控制梯形图,如何画梯形图? plc梯形图怎么画?如何画plc梯形图
  15. ogre研究之第一个程序
  16. java coverage_Java Coverage(Cobertura)工具
  17. 三、Hive数据仓库应用之Hive数据操作语言(超详细步骤指导操作,WIN10,VMware Workstation 15.5 PRO,CentOS-6.7)
  18. Zabbix 3.0 版本企业微信群机器人报警
  19. 落花响应html,史上最“脑残”的“抢火车票”程序(node.js版) - 落花落雨不落叶...
  20. Unix网络编程学习笔记之第11章 名字与地址转换

热门文章

  1. Redis部署启动多个端口实例
  2. dubbo配置多协议
  3. 易康中如何提取特征并进行重要性排序
  4. 高光谱图像分析:分类 II
  5. 【信息安全】RSA非对称加密算法原理(详解和C++代码实现)
  6. 纪念一位大师中的大师
  7. 分治策略时间复杂度计算
  8. IIS配置和发布网站
  9. Halide示例学习五
  10. nginx启动、停止、重启命令