-
Notifications
You must be signed in to change notification settings - Fork 4
添加进入动画
redrain39 edited this page Oct 24, 2019
·
2 revisions
Enter Animation 不同于 RecyclerView 特有的 ItemAnimation ,Enter Animation 表示页面展示时 item 进入页面所呈现的动画。
在 GiraffeHero 中提供了两类 Enter Animation 。
动画类型 | 说明 |
---|---|
ScaleInAnimation | item通过缩放的方式进入到页面视图当中 |
SlideInAnimation | item通过平移的方式进入到页面视图当中 |
我们在 BaseItemProvider 中提供了 getAnimator() 方法,来获取到 Enter Animation。
@Override
public BaseInAnimation getAnimator() {
// example
BaseInAnimation animation = new ScaleInAnimation(Benchmark.CENTER);
return animation;
}
此外,你可以通过 BaseAdapter 的 setNotifyAnimation(boolean isNotifyAnimation) 方法来对进入动画进行刷新控制。
默认为false,表示通过 notifySectionChanged 刷新后不会重现 Enter Animation ,反之,会重复出现。
构造函数 | 参数说明 |
---|---|
ScaleInAnimation(Benchmark benchmark, float from) | benchmark表示缩放的参考标准(CENTER-中心点;X-x轴;y-y轴), from表示初始缩放大小 |
ScaleInAnimation() | benchmark为CENTER, from为0.5 |
ScaleInAnimation(float from) | benchmark为CENTER |
ScaleInAnimation(Benchmark benchmark) | from为0.5 |
构造函数 | 参数说明 |
---|---|
SlideInAnimation(SlideDirection slideDirection) | slideDirection表示平移进入的方向(RIGHT-右边;LEFT-左边;TOP-上面;BOTTOM-下面) |
SlideInAnimation() | slideDirection为RIGHT |
方法 | 说明 |
---|---|
setDuration(long duration) | 设置动画的时长 |
setStartDelay(long startDelay) | 设置动画开始的延时 |
setInterpolator(TimeInterpolator interpolator) | 设置动画的插值器 |
getDuration() | 获取动画的时长 |
getStartDelay() | 获取动画开始的延迟 |
getInterpolator() | 获取动画的插值器 |