闲来无事,看了下支付宝App做的应用item效果,很炫,效果如下:
自己实现的效果如下:
gif可能有点卡,但是实现了支付宝效果,
说下思路:下面是实例图(凑合看吧,大概意思是)
开始是打算用ScrollView+RecycleView实现,上面一个RecycleView是存储已经添加的app图标区域,下面做一个linearLayout,动态添加RecycleView,因为下面的项目是多个的,动态获取的,可以实现动态添加项目,但是没有动画效果,因为所有的item不是在一个组件里面实现的,功能是实现了,但是没有动画效果,距离支付宝的效果还有距离,于是换一个思想
,把上面和下面的都放在一个RecycleView里面,就是整个界面只有一个RecycleView,并且把每一类item数据放到一个list中,头部添加的也是单独的list,整个数据全部方法一个bean中,bean中数据是这样的结构:list在存每个item的list
public class AllApplyTable implements Serializable {
private int type;
private String titleName;
private List<ApplyTable> mList;
有人说,支付宝的不是有title么,这样婶儿的:
good question!确实,recycleView的adapter里面可以通过
getItemViewType()方法返回不同的试图,但是这个地方因为是用的
GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 4, LinearLayoutManager.VERTICAL, false);
如果单独的返回不同的试图,界面会出现错乱,title的位置不会单独占用一行,但是GridLayoutManager有个类