自定义动画效果

新建一个customAnim类

 package com.liwenchi.myapplication;

 import android.view.animation.Animation;
import android.view.animation.Transformation; import static java.lang.Math.*; /**
* Created by VULCAN on 2017/8/2.
*/ public class CustomAnim extends Animation { @Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
//interpolatedTime代表补间动画时间,从0~1,0代表开始,1代表结束
//t代表变化对象
float p = interpolatedTime;
super.applyTransformation(interpolatedTime, t);
//System.out.println(interpolatedTime);
//t.setAlpha(interpolatedTime);设置透明度
//t.getMatrix().setTranslate(0, -300*p);设置位置
t.getMatrix().setTranslate((float) (sin(p*2*6.28*p)*50), 0);
}
}

其中,重写applyTransformation()方法

MainActivity.java里创建一个CustomAnim动画

 package com.liwenchi.myapplication;

 import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.view.animation.AnimationSet;
import android.view.animation.AnimationUtils;
import android.view.animation.RotateAnimation;
import android.view.animation.ScaleAnimation;
import android.view.animation.TranslateAnimation;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.TextView; public class MainActivity extends AppCompatActivity { private CustomAnim ca; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
slove();
} private void slove() {
ca = new CustomAnim();
ca.setDuration(1000);
findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() { @Override
public void onClick(View v) {
v.startAnimation(ca);
}
});
}
}
//v.startAnimation(AnimationUtils.loadAnimation(MainActivity.this, R.anim.ta));

这样就自定义了一个“摇头”的动画效果

最新文章

  1. UWP开发之Mvvmlight实践三:简单MVVM实例开发(图文详解付代码)
  2. Getting Started With Hazelcast 读书笔记(第四章)
  3. WPF快速入门系列(6)——WPF资源和样式
  4. podspec文件介绍
  5. cmd进入某个目录
  6. oracle desc 表结构
  7. [leetcode]_String to Integer (atoi)
  8. sphinx (coreseek)——3、区段查询 与 增量索引实例
  9. Android软键盘强制弹出,隐藏输入法.
  10. Windows下的窗口程序
  11. javaScript中有关正则表达式的用法总结
  12. python解析XML之ElementTree
  13. 在Centos环境下安装兼容Apache2.4高版本SVN服务
  14. BZOJ4873[Shoi2017]寿司餐厅——最大权闭合子图
  15. CSS3 选择器 基本选择器介绍
  16. Qt信号之自定义数据类型
  17. Linux安装Nginx报错: ./configure: error: C compiler cc is not found
  18. Python学习(七)面向对象 ——继承和多态
  19. Go语言之进阶篇服务器如何知道用户需要什么资源
  20. 聊一聊Linux中的工作队列2

热门文章

  1. Python之加密模块
  2. ntpd、ntpdate、hwclock的区别
  3. pip Read timed out 和 pip 源
  4. linux虚拟机桥接网络配置
  5. 移动端tap事件,消除300毫秒延迟
  6. C\C++学习笔记 1
  7. python中的 list (列表)append()方法 与extend()方法的用法 和 区别
  8. Swagger2常用注解及其说明 (转)
  9. UML符号
  10. 获取DataSet中某行某列的数据