属性动画Animator工具类
来源:互联网 发布:windows 7怎么更改只读 编辑:程序博客网 时间:2024/05/15 12:03
package com.ldw.dreamblinkfeed.util;import com.ldw.dreamblinkfeed.R;import android.animation.Animator;import android.animation.Animator.AnimatorListener;import android.animation.ObjectAnimator;import android.view.View;/** * 属性动画工具类 * @author ldw */public class AnimatorUtil {/** * Y轴移动view * @param view * @param fromY * @param toY * @param duration */public static void translateY(View view, float fromY, float toY, long duration){view.setVisibility(View.VISIBLE);ObjectAnimator translateAnimator = ObjectAnimator.ofFloat(view, "translationY", fromY, toY);translateAnimator.setDuration(duration);translateAnimator.start();}/** * X轴移动view * @param view * @param fromX * @param toX * @param duration */public static void translateX(View view, float fromX, float toX, long duration){view.setVisibility(View.VISIBLE);ObjectAnimator translateAnimator = ObjectAnimator.ofFloat(view, "translationX", fromX, toX);translateAnimator.setDuration(duration);translateAnimator.start();}/** * view在Y轴移动后,把view设置为Gone状态 * @param view * @param fromY * @param toY * @param duration */public static void translateYToGone(final View view, float fromY, float toY, long duration){animatorToGone("translationY", view, fromY, toY, duration);}/** * View透明度渐变后,设置为Gone状态 * @param view * @param fromAlpha * @param toAlpha * @param duration */public static void alphaToGone(final View view, float fromAlpha, float toAlpha, long duration){animatorToGone("alpha", view, fromAlpha, toAlpha, duration);}/** * 指定的view做完指定动画后消失 * @param animator * @param view * @param from * @param to * @param duration */private static void animatorToGone(String animator, final View view, float from, float to, long duration){view.setVisibility(View.VISIBLE);ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(view, animator, from, to);objectAnimator.setDuration(duration);objectAnimator.start();view.setTag(R.id.view_animator_tag, "start");objectAnimator.addListener(new AnimatorListener() {@Overridepublic void onAnimationStart(Animator animation) {}@Overridepublic void onAnimationRepeat(Animator animation) {}@Overridepublic void onAnimationEnd(Animator animation) {view.setTag(R.id.view_animator_tag, "end");view.setVisibility(View.GONE);view.setAlpha(1);}@Overridepublic void onAnimationCancel(Animator animation) {}});}/** * 获取该view是否正在执行动画。该view执行的动画必须是有监听动画结束的,例如调用了animatorToGone方法的 * @param view * @returntrue 正在执行动画,false 动画执行完毕或者没有执行动画 */public static boolean isAnimatorWithView(final View view){String tag = (String) view.getTag(R.id.view_animator_tag);if(tag != null && tag.equalsIgnoreCase("start")){return true;}return false;}}
<?xml version="1.0" encoding="utf-8"?><resources> <!-- view是否在执行动画的标志ldw --> <item type="id" name="view_animator_tag"></item></resources>
0 0
- 属性动画Animator工具类
- Android:属性动画 Animator类的记录
- 属性动画Animator
- 属性动画Animator学习
- android属性动画animator
- Animator属性动画
- animator属性动画
- 【Property Animator 属性动画】
- Android属性动画(Animator)
- Animator --属性动画
- 属性动画Animator
- Animator --- 属性动画
- Unity动画 Animator的属性
- Android之属性动画Animator
- Android Animator属性动画总结
- Animator 属性动画简单使用
- Animator参考(属性动画)
- Android之Animator属性动画
- JAVA之带参数的方法
- stty
- TextBox内容以.txt保存到本地路径
- LeetCode 437. Path Sum III
- Hive SQL的编译过程
- 属性动画Animator工具类
- opencv学习笔记之对灰度图像遍历的三种方法
- Android6.0权限适配之WRITE_EXTERNAL_STORAGE(SD卡写入)
- android 静态库和动态库编译
- This application has requested the Runtime to terminate it in an unusual way
- Android实用小特效
- PHP上传文件以及文件操作
- LINUX命令自动补全
- 75. Sort Colors