我是靠谱客的博主 大气中心,最近开发中收集的这篇文章主要介绍Android动画工具类(平移 渐显 旋转),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

做项目的时候经常遇到一些小动画的需求 所以决定整合一个工具类方便以后直接调用 先简单放一些项目用到的 以后有时间再更新。

public class AnimationUtil {
  private boolean ismHiddenActionstart = false;
  private static AnimationUtil mInstance;

  public static AnimationUtil with() {
    if (mInstance == null) {
      synchronized (AnimationUtil.class) {
        if (mInstance == null) {
          mInstance = new AnimationUtil();
        }
      }
    }
    return mInstance;
  }

  /**
   * 从控件所在位置移动到控件的底部(隐藏)
   *
   * @param v
   * @param Duration 动画时间
   * @param type 1:平移 2:旋转 3:渐显
   * LinearInterpolator为匀速效果,Accelerateinterpolator为加速效果、DecelerateInterpolator为减速效果
   */
  public void moveToViewBottom(final View v, long Duration,int type) {
    if (v.getVisibility() != View.VISIBLE)
      return;
    if (ismHiddenActionstart)
      return;
    Animation animation = null;
    switch (type){
      case 1:
        animation = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0.0f,
              Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF,
              0.0f, Animation.RELATIVE_TO_SELF, 1.0f);
        break;
      case 2:
        animation = new RotateAnimation(0f, 90f, Animation.RELATIVE_TO_SELF, 0f, Animation.RELATIVE_TO_SELF, 1f);
        break;
      case 3:
        animation = new AlphaAnimation(0.1f, 0.0f);
        animation.setFillAfter(false);//设置最后的动画效果
        break;
    }
    assert animation != null;
    animation.setDuration(Duration);
    animation.setInterpolator(new AccelerateInterpolator());
    v.clearAnimation();
    v.setAnimation(animation);
    animation.setAnimationListener(new Animation.AnimationListener() {
      @Override
      public void onAnimationStart(Animation animation) {
        ismHiddenActionstart = true;
      }

      @Override
      public void onAnimationEnd(Animation animation) {
        v.setVisibility(View.GONE);
        ismHiddenActionstart = false;
      }

      @Override
      public void onAnimationRepeat(Animation animation) {

      }
    });
  }
 


最后

以上就是大气中心为你收集整理的Android动画工具类(平移 渐显 旋转)的全部内容,希望文章能够帮你解决Android动画工具类(平移 渐显 旋转)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部