Android控件: 仿探探首页 相册侧滑层叠加载

探探首页样式

探探,百合网等神器的首页有一个相册加载个控件,通过左滑右滑加载新的照片,同时左滑丢弃这个照片,右滑则表明对这个照片感兴趣。

首先介绍一下总体思路,一张一张的“纸”,我们可以用一个布局来做扩展。为了方便在“纸”上“画”不同的图案,我们选择相对布局作为“纸”的基类。而我们要为“纸”增加的功能就是拖动移动位置,并在不同位置松手时实现不同的功能。

由上可知,我们需要复写“纸”的onTouchEvent方法,根据不同的拖动位置,对“纸”进行不同的操作。

一些细节问题

1.控件角度与位置的改变

Android3.0以后控件中增加了setTranslationX,setTranslationY方法,用于控件沿X,Y轴移动。其原点是相对于控件开始移动的位置,注意,这点很重要。setRotation用于设置控件旋转角度,直接将角度值填入参数即可(旋转45度就写45)。

2.动画的实现

ValueAnimator输入初始值和结束值,设置插值器,将生成的变化值通过处理当作参数传入上述三个参数中,实现对控件运动状态的控制。

3.“纸”的背景

此处选择了较为灵活的相对布局来作为背景的基类。同时负责加载数据的处理。我们使用两张“纸”,而背景提供一个队列,长度为2,分别存储第一个页面和第二个页面需要显示用的数据。

4.第一张纸消失时,第二张纸怎么填充到第一张呢

这里我是这样处理的,始终使用第一张“纸在最前面”,当第一张”纸“被丢弃时,这张被丢出屏幕的纸迅速移动到原位,并显示第二张上的图片,这样给人感觉好像是第二张纸上去了。同时更新数据队列,将第二张”纸“的内容更新。

下载地址:
http://download.csdn.net/detail/lidec/9227477

源码地址
https://git.oschina.net/vonchenchen/RollLoadPhotoView.git
Android控件: 仿探探首页 相册侧滑层叠加载_第1张图片

你可能感兴趣的:(android,移动,布局,控件,探探)