自定义动画效果

新建一个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));

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

[2017-8-02]Android Learning Day8的更多相关文章

  1. [2017-7-26]Android Learning Day4

    RecycleView 恩,学习Fragment的过程中的一个小实践居然用到了RecycleView!坑了我好久有木有!!好气哦,从昨晚到现在.(现在也还是一头雾水,不过照搬也会用了) 这是第一版的代 ...

  2. Android Learning:微信第三方登录

    这两天,解决了微信第三方授权登录的问题,作为一个新手,想想也是一把辛酸泪.我想着,就把我的遇到的坑给大家分享一下,避免新手遇到我这样的问题能够顺利避开. 步骤一 微信开发者平台 我开始的解决思路是,去 ...

  3. Android Learning:多线程与异步消息处理机制

    在最近学习Android项目源码的过程中,遇到了很多多线程以及异步消息处理的机制.由于之前对这块的知识只是浅尝辄止,并没有系统的理解.但是工程中反复出现让我意识到这个知识的重要性.所以我整理出这篇博客 ...

  4. Android Learning:数据存储方案归纳与总结

    前言 最近在学习<第一行android代码>和<疯狂android讲义>,我的感触是Android应用的本质其实就是数据的处理,包括数据的接收,存储,处理以及显示,我想针对这几 ...

  5. 02 of learning python

    01 input输入的是str类型 如果输入的是数字的话,要记得强制转换一下! 02 isdigit() 这个方法是用来检测字符串是否全部由数字组成 str.isdigit() 如果字符串只包含数字则 ...

  6. [2017-7-28]Android Learning Day7

    View动画效果 透明动画效果 旋转动画效果 移动动画效果 缩放动画效果 混合动画效果 1.透明动画效果(AlphaAnimation) 有两种方法 第一种在活动中设置,不需要xml文件 public ...

  7. [2017-7-28]Android Learning Day6

    常用控件 Spinner DatePickerDialog TimePickerDiaog RadioButton CheckBox spinner(下拉菜单) <Spinner android ...

  8. [2017-7-27]Android Learning Day5

    总结篇! 吭哧吭哧了三天,最近不断研究<第一行代码:第二版>170多页的那个新闻实践项目,虽然也没有用到数据库和一些Web爬虫的知识,新闻数据都是随机生成的字符串...... 但还是很开心 ...

  9. [2017-7-25]Android Learning Day3

    最近真的有点迷茫,感觉没有一个完整的教学体系很难进行下去,有的都是自己瞎捉摸,就跟以前ACM的时候一样,动不动就“这就是一道,水题暴力就行了”.“我们枚举一下所有的状态,找一下规律就行了”,mmp哟. ...

随机推荐

  1. MyBatis使用注解开发

  2. CI框架在模型中切换读写库和读写库

    如果你想在控制器中切换在application/config/database.php中配置好的数据库group,那么你可以参考这篇博客:CI框架在控制器中切换读写库和读写库 如果你是希望在模型中切换 ...

  3. vs快捷键 C#

    快速构建构造函数 输入 ctor 然后按 TAB 键 快速构建自动属性 在变量那里,右击鼠标,点“重构”--“封装字段” Visual Studio快捷键 [VS2008/VS2005] ****** ...

  4. day 7-16 单表查询

    一.准备工作 先把表建立好,方便一会查询. create table emp( id int not null unique auto_increment, name varchar(20) not ...

  5. 剑指offer(1)

    题目: 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. ...

  6. 牛客练习赛13D 幸运数字4

    题目链接:https://ac.nowcoder.com/acm/contest/70/D 题目大意: 略 分析: 注意到12! < 10^9 < 13!,于是当n > 13时,第k ...

  7. QTP 自动化测试--点滴 获取datatable数值/dafault文件位置

    0 设置default.xls文件位置 右键项目-settings-resources-datatable-选择 数据表的位置如图 心得:同一个项目-分成多个测试项目-这些测试项目可以共用同一张数据表 ...

  8. Oracle minus用法详解及应用实例

    本文转载:https://blog.csdn.net/jhon_03/article/details/78321937 Oracle minus用法 “minus”直接翻译为中文是“减”的意思,在Or ...

  9. Js--动态生成表格

    <div>        <h1>动态生成表格</h1>        <div id="table1">            行 ...

  10. Lodop打印html数字间隔不一致

    在font-size属性控制数字大小的时候,可能会出现数字间隔有问题,间隔不一致,可尝试用其他字体大小试试,一般字体越小,越可能出现问题. 如图,前两个打印项都是form1,样式一个是style1,一 ...