HotHeart
抖音APP双击效果实现,模仿抖音APP双击屏幕蹦出心图,特点: 1. 可以自定义图片 2. 可以自定义旋转角度 3.可以自定义是否晃动一下再放大消失 4. 超级简约,占用显存小
预览
使用
第一步: 在项目根目录的build.gradle文件中加入
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
第二步: 添加依赖项
dependencies {
implementation 'com.github.KevinYou128:HotHeart:v1.2'
}
第三步:直接在布局文件里调用
直接在你的父布局内层包裹上hotheart布局就可以了,另外,考虑到削减布局层数,我特意添加了HeartLinearLayout、HeartConstraintLayout、HeartRelativeLayout、HeartFrameLayout等父容器,你可以直接使用它们来替换你的原生布局,以达到削减布局层数的疗效。
XML属性说明
heart_swipe_image:点击时须要显示的图片
heart_shake:设置是否有晃动疗效,默认为晃动,设置false为不晃动
heart_refresh_rate:设置动漫刷新频度,默认为16,数值越大动漫表现越慢,建议使用默认就好了
heart_degrees_interval_min:图片最小旋转角度,默认-30,取值范围为-360到360(注意取值大于或等于max)
heart_degrees_interval_max:图片最大旋转角度,默认30,取值范围为-360到360(注意取值小于或等于min)
java代码属性说明
setOnDoubleClickListener:双击事件窃听
示例:
heart.setOnDoubleClickListener(new DoubleClickListener() {
@Override
public void onDoubleClick(View view) {
//双击事件处理
}
});
点击风波有两种方案:
方案一:
//点击监听方案一:解决单击和双击冲突的点击方案
heart.setOnTouchListener(new MyClickListener
(new MyClickListener.MyClickCallBack() {
@Override
public void onSimpleClick() {
showToast("单击了");
}
@Override
public void onDoubleClick() {
showToast("双击了");
}
}));
方案二:
//点击监听方案二:普通单击双击,单击会一直被调用
heart.setOnDoubleClickListener(new DoubleClickListener() {
@Override
public void onDoubleClick(View view) {
showToast("双击了");
}
});
heart.setOnSimpleClickListener(new SimpleClickListener() {
@Override
public void onSimpleClick(View view) {
showToast("单击了");
}
});
setSwipeImage(int id):设置点击时须要显示的图片
setRefreshRate(int refreshRate):设置动漫刷新频度,默认为16,数值越大动漫表现越慢,建议使用默认就好了
setDegreesInterval(int min,int max):设置图片旋转角度区间,默认-30到30
min取值范围为-360到360
max取值范围为-360到360
博客地址
最后
欢迎交流意见!