RecyclerView 的使用以及贝塞尔曲线的应用(仿外卖加入购物车效果)

image

由于RecyclerView是support-V7包中的新组件,使用时需要导入com.android.support:recyclerView-v7:21.0.2的依赖,它的任务是回收和定位屏幕上的View。列表项View能够显示数据还需要两个类的支持:ViewHolder子类和Adapter子类。

ViewHolder只做一件事:容纳View视图,创建ViewHolder子类示例如下:

Adapter负责的事情有:

1、创建必要的ViewHolder

2、 绑定ViewHolder至模型层数据(具体示例请看后面)

贝塞尔曲线主要用于二维图形应用程序中的数学曲线,曲线有起始点、终止点和控制点组成,同调整控制点来控制绘制贝塞尔曲线的形状,具体分析请参考文献:https://blog.csdn.net/monkey646812329/article/details/52841105?locationNum=2&fps=1

Ok,了解完什么是RecyclerView和贝塞尔曲线那就进入我们这次效果的实现吧

(一)首先,我在上次分享中做了调整,将右边显示的ListView换成了RecyclerView, 代码如图所示:

由于我们在列表项View(即item)中,需要使用内部监听+、-,所以我们需要重写Adapter来实现内部监听;本次效果中我们使用的Adapter是RecyclerView.Adapter的子类,它继承于RecyclerView.Adapter,通过重写onCreateView()和onBindViewHolder()方法实现列表View的创建和绑定,具体实现如下:

1、在自定义的Adapter中创建ViewHolder子类,代码如图所示:


img1

2、在Onclick()中监听点击事件,代码如图所示:

img2

3、创建完ViewHolder后,我们需要重写RecyclerView.Adapter中的onCreateViewHolder()和onBindViewHolder()来创建和绑定数据,代码如图所示:

img3

4、由于Android中并没有给RecyclerView增进点击事件,所以我们需要自己使用接口回调机制,创建点击事件的接口,代码如图所示:

img4

5、回到我们的orderActivity界面,在right_adapter()方法中使用我们自定义的Adapter, 代码如图所示:

img5

(二)贝塞尔曲线的应用

1、获取起始坐标、控制坐标、终点坐标,代码如图所示

img1

2、设置贝塞尔曲线的起始坐标、控制坐标、终点坐标,代码如图所示:

img2

3、创建加入购物车过程中的图片或者绘制图形(加入过程中view的显示自己定),在这里所用的是图片,其中R.dimen.item_dish_cricle_size是创建在values中自定义的xml中

,代码如图所示:

img3


4、根据二阶贝塞尔曲线的公式定义自己的插值器,代码如图所示


img4

5、创建加入购物车的动画效果,代码如图所示:

img5

6、创建购物车的缩放效果

img6

7、最后别忘了移除视图

img7


参考文献:https://blog.csdn.net/weixin_34306593/article/details/93218428

你可能感兴趣的:(RecyclerView 的使用以及贝塞尔曲线的应用(仿外卖加入购物车效果))