文档章节

Android简单实现轮播

AmosWang
 AmosWang
发布于 2017/04/27 22:31
字数 260
阅读 36
收藏 0
点赞 0
评论 0

先上效果图

一、build.gradle(Module:app)添加依赖

compile 'com.jude:rollviewpager:1.4.6'

二、XML中添加布局(总布局最上边加上xmlns:app…… )

xmlns:app="http://schemas.android.com/apk/res-auto"
<com.jude.rollviewpager.RollPagerView
    android:id="@+id/vp_roll"
    android:layout_width="match_parent"
    android:layout_height="180dp"
    app:rollviewpager_play_delay="3000" />

app:rollviewpager_play_delay="3000"也就是设置3000ms图片自动滚动一次

三、在Activity.java中findViewById

RollPagerView vp_roll = (RollPagerView) findViewById(R.id.vp_roll);

四、创建自定义适配器

public class LoopAdapter_Scroll extends LoopPagerAdapter {

    List<Integer> imgList;

    public LoopAdapter_Scroll(RollPagerView viewPager, List<Integer> imgList) {
        super(viewPager);
        this.imgList = imgList;
    }

    @Override
    public View getView(ViewGroup container, int position) {
        ImageView view = new ImageView(container.getContext());
        view.setImageResource(imgList.get(position));
        view.setScaleType(ImageView.ScaleType.CENTER_CROP);
        view.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
        return view;
    }

    @Override
    public int getRealCount() {
        return imgList.size();
    }

}

五、给RollPagerView关联适配器

List<Integer> imgList = new ArrayList<>();
imgList.add(R.mipmap.bg_topic_1);
imgList.add(R.mipmap.bg_topic_2);
imgList.add(R.mipmap.bg_topic_3);
imgList.add(R.mipmap.bg_topic_4);
imgList.add(R.mipmap.bg_topic_5);

vp_roll.setAdapter(new LoopAdapter_Scroll(vp_roll, imgList));

六、设置点击事件(position + 1 是为了符合大众的 1,而不是程序员的 1,哈哈)

vp_roll.setOnItemClickListener(new com.jude.rollviewpager.OnItemClickListener() {
    @Override
    public void onItemClick(int position) {
        Toast.makeText(getBaseContext(), "点击轮播第" + (position + 1) + "张页面",
                       Toast.LENGTH_SHORT).show();     
    }
});

图片轮播实现了,感谢依赖的制作者。

© 著作权归作者所有

共有 人打赏支持
AmosWang

AmosWang

粉丝 3
博文 59
码字总数 26726
作品 0
黄浦
后端工程师
打造万能的BannerView(ViewPager)无限轮播图

为什么写这篇文章,因为在网上看到的绝大多数BannerView实现了右无限轮播图,甚至没有实现无限轮播图,说成是无限轮播图,实现了左右无限轮播图的,并没有做性能上的优化。 先看张效果图 工程...

Steven_520 ⋅ 05/11 ⋅ 0

最近排查android webview https的发热耗电和加载速度慢问题解决

最近排查android webview https的发热耗电和加载速度慢问题 问题:H5页面发热耗电 排查:通过android studio profiler 查看CPU消耗曲线,发现静置情况下webview轮播图波浪式消耗CPU,且峰值高...

ljianbing ⋅ 05/28 ⋅ 0

android手机卫士、3D指南针、动画精选、仿bilibli客户端、身份证银行卡识别等源码

Android精选源码 android身份证、银行卡号扫描源码(http://www.apkbus.com/thread-599859-1-1.html) android仿bilibili客户端(http://www.apkbus.com/thread-599860-1-1.html) android一款3......

逆鳞龙 ⋅ 06/04 ⋅ 0

android图片轮播效果,RollViewPager的简单使用

有朋友想做无线轮播,然后我就推荐了这个,这个用的挺好的,所以就在这里记一下,我不是原创,原创在这里https://blog.csdn.net/copy_yuan/article/details/51727576 我这里实现不了gif图,但...

nyb521 ⋅ 05/25 ⋅ 0

React Native 结合ScrollableTab、RefreshControl和FlatList实现新闻分类列表

正好刚开始学RN,熟悉一下控件和基本使用。 涉及的知识点: 1、fetch网络请求,get 拼接参数,解析json。 2、ScrollableTabView、ScrollableTabBar 分类布局。 3、FlatList 数据列表。 4、N...

八怪不姓丑 ⋅ 04/16 ⋅ 0

Android 简单封装Banner控件

banner.gif 如上图所示效果我们应该都不陌生,这是一个简单的banner轮播效果,网上也有很多的开源项目,但有时候可能我们仅仅只需要一些简单的效果,并不需要其他过多的东西。这里简单的对b...

萌动小彩笔 ⋅ 01/26 ⋅ 0

安卓首页图片轮播效果(淘宝、京东首页广告效果)

直奔主题: 1、主要原理就是利用定时任务器定时切换ViewPager的页面。2、里面用了一个读取网络图片的插件,做客户端使用本地图片轮播的也很少。 先上个效果图: 项目代码结构截图: 自定义V...

丁佳辉 ⋅ 2016/07/11 ⋅ 0

Andromeda:适用于多进程架构的组件通信框架(下)

  首先插播一条自己的广告——有些朋友可能都知道了,我最近创建了一个知识星球,在这里试了一周,发现私密圈子的效率果然比群要好很多,付费门槛过滤掉了大部分广告和没有意愿学习分享的人...

Android群英传 ⋅ 05/29 ⋅ 0

用RecyclerView打造一个轮播图

通常Android的轮播图(俗名:Banner)都是用ViewPager实现的,但是我在实际项目运用中碰到了一些小问题,于是决定另寻思路,采用RecyclerView这个更优雅更强大的控件来实现轮播的功能,顺便复习...

大头呆 ⋅ 2017/11/20 ⋅ 0

android银行卡匹配、详情展开动画、仿爱奇艺视频拖拽、扫码识别手机号等源码

Android精选源码 android实现银行卡匹配信息源码 android实现可以展开查看详情的卡片 下拉刷新,上拉加载,侧滑显示菜单等效果RefreshSwipeRecyclerview android模仿新浪微博菜单弹出界面 an...

安卓巴士官方 ⋅ 01/08 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

在java中读取文件(也支持读取jar中的文件)

getClass().getResourceAsStream("文件名.格式"); 这个方法是用于获取当前类所在目录下的文件;需要将文件放到和当前类同一个包下面 比如我有个类在 com.test这个包下, 要读取一个test.jpg的图...

太黑_thj ⋅ 56分钟前 ⋅ 0

CentOS 7 源码编译安装 MySQL 5.7记录

没事瞎折腾,本来可以yum安装,却偏偏去要编译源码。 1. 安装依赖包 1). 安装cmake等依赖 # yum install cmake ncurses ncurses-devel bison bison-devel 2). 安装boost 1.59.0 # wget htt...

admin_qing ⋅ 58分钟前 ⋅ 0

tcp/ip详解-链路层

简介 设计链路层的目的: 为IP模块发送和接收IP数据报 为ARP模块发送ARP请求和接收ARP应答 为RARP模块发送RARP请求和接收RARP应答 TCP/IP支持多种链路层协议,如以太网、令牌环往、FDDI、RS-...

loda0128 ⋅ 今天 ⋅ 0

spring.net aop代码例子

https://www.cnblogs.com/haogj/archive/2011/10/12/2207916.html

whoisliang ⋅ 今天 ⋅ 0

发送短信如何限制1小时内最多发送11条短信

发送短信如何限制1小时内最多发送11条短信 场景: 发送短信属于付费业务,有时为了防止短信攻击,需要限制发送短信的频率,例如在1个小时之内最多发送11条短信. 如何实现呢? 思路有两个 截至到当...

黄威 ⋅ 昨天 ⋅ 0

mysql5.7系列修改root默认密码

操作系统为centos7 64 1、修改 /etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1 这一行配置让 mysqld 启动时不对密码进行验证 2、重启 mysqld 服务:systemctl restart mysql...

sskill ⋅ 昨天 ⋅ 0

Intellij IDEA神器常用技巧六-Debug详解

在调试代码的时候,你的项目得debug模式启动,也就是点那个绿色的甲虫启动服务器,然后,就可以在代码里面断点调试啦。下面不要在意,这个快捷键具体是啥,因为,这个keymap是可以自己配置的...

Mkeeper ⋅ 昨天 ⋅ 0

zip压缩工具、tar打包、打包并压缩

zip 支持压缩目录 1.在/tmp/目录下创建目录(study_zip)及文件 root@yolks1 study_zip]# !treetree 11└── 2 └── 3 └── test_zip.txt2 directories, 1 file 2.yum...

蛋黄Yolks ⋅ 昨天 ⋅ 0

聊聊HystrixThreadPool

序 本文主要研究一下HystrixThreadPool HystrixThreadPool hystrix-core-1.5.12-sources.jar!/com/netflix/hystrix/HystrixThreadPool.java /** * ThreadPool used to executed {@link Hys......

go4it ⋅ 昨天 ⋅ 0

容器之上传镜像到Docker hub

Docker hub在国内可以访问,首先要创建一个账号,这个后面会用到,我是用126邮箱注册的。 1. docker login List-1 Username不能使用你注册的邮箱,要用使用注册时用的username;要输入密码 ...

汉斯-冯-拉特 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部