RecyclerView + SnapHelper实现炫酷ViewPager效果
目录
什么是SnapHelper
SnapHelper是Google 在 Android 24.2.0 的support 包中添加的对RecyclerView的拓展,结合RecyclerView使用,能很方便的做出一些炫酷的效果。
SnapHelper的使用方法
SnapHelper是一个抽象类 Google 内置了两个默认实现类,LinearSnapHelper和PagerSnapHelper。
- LinearSnapHelper:使当前Item居中显示,常用场景是横向的RecyclerView, 类似ViewPager效果,但是又可以快速滑动多个条目。
LinearLayoutManager manager = new LinearLayoutManager(getContext());
manager.setOrientation(LinearLayoutManager.VERTICAL);
mRecyclerView.setLayoutManager(manager);
LinearSnapHelper snapHelper = new LinearSnapHelper();
snapHelper.attachToRecyclerView(mRecyclerView);
- PagerSnapHelper:使RecyclerView 像ViewPager一样的效果,每次只能滑动一页。
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
linearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
mRecycleview.setLayoutManager(linearLayoutManager);
PagerSnapHelper snapHelper = new PagerSnapHelper();
snapHelper.attachToRecyclerView(mRecycleview);
这里我只使用了PagerSnapHelper做了一个案例:
项目源码: https://github.com/myml666/SnapHelperDemo
个人技术博客:https://myml666.github.io
关注公众号
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
使用Charles对Android App的https请求进行抓包
本文背景 公司新项目要求抓取目前市面上一些热门App的数据,经过研究发现很多App的网络请求都使用https进行数据传输,这样问题就来了,http使用明文传输所有请求都能拦截到,而https请求无法拦截。 所以这里我们要使用Charles来抓取https,但是笔者看了网上很多使用iOS设备进行抓取https的文章,经测试iOS8/10/11均无法进行正常抓取,即使信任证书也不行。 经过笔者的不断尝试,终于在Android5.0上成功抓取了https。研究后发现,在Android7.0以下可以正常使用Charles抓取。Android7.0以上应该是默认屏蔽了此种方法。 Charles安装 这里给出官网下载的链接 如果需要破解文件点击这里 安装破解过程可以查看这篇文章 Charles配置 配置电脑端的根证书 打开Charles,我这里使用的是v4.2.5版本: 安装根证书 Mac需要设置信任证书 安装后会弹出钥匙串访问界面,如图: 双击证书,弹出证书详细界面,点击『信任』选项,然后将所有设置为始终信任,如图: 在手机端配置根证书 在电脑端选择安装移动端的证书: 选择后会显示IP与端口号,...
-
下一篇
Android笔记(二) | Activity的启动模式
启动模式 在这里,首先要提到一个名词——任务栈(Task),数据结构中的栈我们都很熟悉,而Android系统采用栈的结构来管理应用程序运行过程中所启动的Activity,即任务栈。知道这一点,对于我们理解启动模式已经足够了。 standard(标准模式):系统的默认启动模式,每次启动一个Activity,都会重新创建一个实例,无论这个实例是否已经被创建。 通常,当我们使用显式Intent启动一个standard模式的Activity时: Intent intent = new Intent(MainActivity.this, NextActivty.class); startActivity(intent); NextActivity会进入MainActivity所在的栈中,即被启动的Activity会进入启动它的那个Activity所在的任务栈中。 这是一种典型的多实例模式,一个任务栈中可以有多个实例,每个实例也可以属于不同的任务栈。 注意:当我们用ApplicationContext启动一个standard模式的Activity时会报错,这是因为standard模式的Act...
相关文章
文章评论
共有0条评论来说两句吧...

微信收款码
支付宝收款码