zoukankan      html  css  js  c++  java
  • [2017-8-02]Android Learning Day8

    自定义动画效果

    新建一个customAnim类

     1 package com.liwenchi.myapplication;
     2 
     3 import android.view.animation.Animation;
     4 import android.view.animation.Transformation;
     5 
     6 import static java.lang.Math.*;
     7 
     8 /**
     9  * Created by VULCAN on 2017/8/2.
    10  */
    11 
    12 public class CustomAnim extends Animation {
    13 
    14     @Override
    15     protected void applyTransformation(float interpolatedTime, Transformation t) {
    16         //interpolatedTime代表补间动画时间,从0~1,0代表开始,1代表结束
    17         //t代表变化对象
    18         float p = interpolatedTime;
    19         super.applyTransformation(interpolatedTime, t);
    20         //System.out.println(interpolatedTime);
    21         //t.setAlpha(interpolatedTime);设置透明度
    22         //t.getMatrix().setTranslate(0, -300*p);设置位置
    23         t.getMatrix().setTranslate((float) (sin(p*2*6.28*p)*50), 0);
    24     }
    25 }

    其中,重写applyTransformation()方法

    MainActivity.java里创建一个CustomAnim动画

     1 package com.liwenchi.myapplication;
     2 
     3 import android.support.v7.app.AppCompatActivity;
     4 import android.os.Bundle;
     5 import android.view.View;
     6 import android.view.animation.AlphaAnimation;
     7 import android.view.animation.Animation;
     8 import android.view.animation.AnimationSet;
     9 import android.view.animation.AnimationUtils;
    10 import android.view.animation.RotateAnimation;
    11 import android.view.animation.ScaleAnimation;
    12 import android.view.animation.TranslateAnimation;
    13 import android.widget.Button;
    14 import android.widget.CheckBox;
    15 import android.widget.CompoundButton;
    16 import android.widget.TextView;
    17 
    18 public class MainActivity extends AppCompatActivity {
    19 
    20     private CustomAnim ca;
    21 
    22     @Override
    23     protected void onCreate(Bundle savedInstanceState) {
    24         super.onCreate(savedInstanceState);
    25         setContentView(R.layout.activity_main);
    26         slove();
    27     }
    28 
    29     private void slove() {
    30         ca = new CustomAnim();
    31         ca.setDuration(1000);
    32         findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() {
    33 
    34             @Override
    35             public void onClick(View v) {
    36                 v.startAnimation(ca);
    37             }
    38         });
    39     }
    40 }
    41 //v.startAnimation(AnimationUtils.loadAnimation(MainActivity.this, R.anim.ta));

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

  • 相关阅读:
    JVM01---简介
    SpringBoot-01创建项目,实例
    git的三种提交方式(目前两种)
    Spring-事务
    JDK及CGLIB动态代理-AOP4种增强
    Spring-静态代理
    Spring-Aop
    初识jvm-1.Java类的加载机制
    java公开课-06-实用类
    java公开课-05-集合及Socket网络编程(简介)
  • 原文地址:https://www.cnblogs.com/liwenchi/p/7275257.html
Copyright © 2011-2022 走看看