#FavorLayout
实现手机视频直播中给主播点赞的功能,每点一下会从底部出现一个心形飘到屏幕最上方。
动画是利用ObjectAnimation完成的,路径是由几段不同的贝塞尔曲线拼接而成
下面是在模拟器上录制的有点卡,在手机上很流畅
像是Periscope的点赞功能一样
可以自定义
- 动画时间
- 浮动范围
- 起始位置
- 浮动的形状
android {
...
buildscript{
repositories {
jcenter()
maven { url = 'https://jitpack.io' }
}
}
allprojects {
repositories {
jcenter()
maven { url = 'https://jitpack.io' }
}
}
}
dependencies {
...
compile 'com.github.gaoxuan:FavorLayout:1.1'
}
<com.gx.favorlayout_favorlayout.FavorLayout
android:id="@+id/favor"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:favorHeartWidth="40dp"
app:favorNodeNum="5"
app:favorRangeWidth="40dp"/>
favorDuration
动画持续时间favorSpeedMode
速度模式,使用给定值linear|accelerate|decelerate|acceleratedecelerate
favorIntercurrentHeartNum
每次心形出现的最大并发数favorMaxHeartNum
屏幕最多的心形数favorNodeNum
路径节点个数favorHeartWidth
心形的宽带和高度favorRangeWidth
动画浮动范围favorMarginRight
心形距父容器右边的值favorMarginBottom
心形距父容器下面的值favorTip
是否隐藏开始的白色心形和心形数,使用给定值true|false
,表示显示或者隐藏开始的控件
class YourImageView extends AnimImageView {
protected void onDraw(Canvas canvas) {
//custom
}
}
favorlayout.setViewType(YourImageView.class.getName());
- 如果不想显示起始的心形和数字可以这样做,在xml中设置favorTip属性为false
- 可以自定义漂浮的图形