美文网首页
抖音APP双击点赞效果实现

抖音APP双击点赞效果实现

作者: 七岁的凯哥 | 来源:发表于2019-12-25 12:01 被阅读0次

    首先来分析一下效果特点:1.双击屏幕任意位置,就生成一个心动图  2.心动图不断放大    3.心动图逐渐消失。

    实现步骤

    1.创建一个新的项目,添加一个class并取名为HotHeartFrameLayout,继承FrameLayout。

    2.创建一个HeartBean,用来存放需要绘制的心形图属性。

    3.创建一个Handler,用来处理界面刷新,表现出动画的效果。

    4.初始化相关值。

    5.不断刷新图片。

    原理是通过不断的更新图片缩放和透明度,来让图片逐渐放大并同时逐渐消失的效果。

    6.双击事件时调用(双击弹出爱心而不是单击弹出)

    7.双击事件监听:

    8.绘制图片:

    可以自己实现也可以通过第三方来实现此功能。

    第三方简单使用:

    第一步: 在项目根目录的build.gradle文件中加入

    allprojects { repositories { ... maven { url 'https://jitpack.io' } }}

    第二步: 添加依赖项

    dependencies { implementation 'com.github.KevinYou128:HotHeart:v1.1'}

    第三步:直接在布局文件里调用

    <com.yqw.hotheart.HeartFrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" app:degrees_interval_max="20" app:degrees_interval_min="-20" app:swipe_image="@drawable/ic_heart" tools:context=".MainActivity"> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:src="@drawable/douyin" /></com.yqw.hotheart.HeartFrameLayout>

    直接在你的父布局外层包裹上hotheart布局就可以了,另外,考虑到缩减布局层数,我特意添加了HeartLinearLayout、HeartConstraintLayout、HeartRelativeLayout、HeartFrameLayout等父容器,你可以直接使用它们来替换你的原生布局,以达到缩减布局层数的效果。

    XML属性说明

    swipe_image:点击时需要显示的图片

    refresh_rate:设置动画刷新频率,默认为16,数值越大动画表现越慢,建议使用默认就好了

    degrees_interval_min:图片最小旋转角度,默认-30,取值范围为-360到360(注意取值小于或等于max)

    degrees_interval_max:图片最大旋转角度,默认30,取值范围为-360到360(注意取值大于或等于min)

    java代码属性说明

    setOnDoubleClickListener:双击事件监听

    示例:

    heartViewGroup.setOnDoubleClickListener(new HeartViewGroup.DoubleClickListener() { @Override public void onDoubleClick(View view) { //双击事件处理 } });

    setSwipeImage(int id):设置点击时需要显示的图片

    setRefreshRate(int refreshRate):设置动画刷新频率,默认为16,数值越大动画表现越慢,建议使用默认就好了

    setDegreesInterval(int min,int max):设置图片旋转角度区间,默认-30到30

    min取值范围为-360到360

    max取值范围为-360到360

    如果不懂还可以看源码。

    相关文章

      网友评论

          本文标题:抖音APP双击点赞效果实现

          本文链接:https://www.haomeiwen.com/subject/xvfcoctx.html