Android仿探探卡片式滑动效果实现-创新互联

前言

创新互联建站主要从事成都网站制作、做网站、外贸营销网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务沙河,十年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575

第一次进入探探软件界面,就被这种通过卡片式滑动来选择“喜欢/不喜欢”的设计所吸引了。当时就非常想通过自己来实现这种仿探探式的效果,然而却没什么思路。不过毋庸置疑的是,这种效果的原理肯定和 ListView / RecyclerView 类似,涉及到 Item View 的回收和重用,否则早就因为大量的 Item View 而 OOM 了。


再到后来,看到许多大神也推出了同样仿探探效果的博客,从头到尾阅读下来,写得通俗易懂,基本上没什么问题。于是,实现仿探探效果的想法再次出现在脑海中。那么,还犹豫什么,趁热来一发吧!就这么愉快地决定了。


首先面临的问题就是关于实现 View 上的考虑。毫无疑问。


RecyclerView 是最佳选择!


RecyclerView 是最佳选择!


RecyclerView 是最佳选择!


重要的话讲三遍!!!


究其原因,第一,RecyclerView 是自带 Item View 回收和重用功能的,就不需要我们考虑这个问题了;第二,RecyclerView 的布局方式是通过设置 LayoutManager 来实现的,这样就充分地把布局和 RecyclerView “解耦”开来了。而 LayoutManager 是可以通过自定义的方式来实现的。这恰恰是我们想要的!!!再说一点,这也正是不选用 ListView 的原因之一。


下面,我们就开始动手了。带你见证奇迹的时刻。


CardLayoutManager


创建 CardLayoutManager 并继承自 RecyclerView.LayoutManager 。需要我们自己实现 generateDefaultLayoutParams() 方法:


@Override 
 
public RecyclerView.LayoutParams generateDefaultLayoutParams() { 
 
 return new RecyclerView.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); 
 
} 

标题名称:Android仿探探卡片式滑动效果实现-创新互联
分享路径:http://ybzwz.com/article/codjso.html