Android动画初探

今天初步学习了一下android 简单动画的实现

(ps:本人第一次写博客,有不对或者不足,欢迎大家指出)

1 Android中动画的实现软件包:android.view.animation

1)其中包含的接口

Animation.AnimationListener 

      用来监听动画开始,结束以及重复,对应下面三种方法

       A)onAnimationStart    B)onAnimationEnd  C)onAnimationRepeat

Interpolator 

      我的理解就是用来定义动画的加速或者减速的曲线,对应下面的方法   

      getInterpolation(float input) 

      AccelerateInterpolator   ,DecelerateInterpolator,CycleInterpolator,AccelerateDecelerateInterpolator, LinearInterpolator

      以上这些类都实现了这个接口,通过重新这个函数中的内容从而实现不同的加速或减速曲线类型 

2 )其中包含的类    

//加速曲线

AccelerateDecelerateInterpolator

动画发生的开始和结束比较慢,但是中间很快

AccelerateInterpolator

动画开始时很慢,慢慢加速

DecelerateInterpolator

动画开始时很快,慢慢减速

CycleInterpolator

动画从开始到结束,变化率是循环给定次数的正弦曲线

LinearInterpolator

动画从开始到结束,变化率是线性变化


AnimationSet

一组动画

AnimationUtils

定义了用户动画工作时的一个工具类

Animation

一个抽象的类,定义一个动画,可用于Views,Surfaces,或者其他的对象

AlphaAnimation

控制对象的透明度

RotateAnimation

一个可以控制对象旋转的动画

ScaleAnimation

一个可以控制物体放大和缩小的动画

TranslateAnimation

一个控制对象平移的动画

2 小试牛刀

1)主要java代码

//用Animation工具类,加载xml文件定义的动画
Animation anim = AnimationUtils.loadAnimation(MainActivity.this, R.anim.animlayout);
//定义一个动画加速曲线,这里选择减速曲线,即动画慢慢减速
DecelerateInterpolator ac = new DecelerateInterpolator();
//为动画设置加速曲线
anim.setInterpolator(ac);
//动画结束后停在动画结束的画面,不会回到起点
anim.setFillAfter(true);
//将这个动画添加到TextView中,并启动它
TextView tv = (TextView)findViewById(R.id.testview01);
tv.startAnimation(anim);
上面定义了一个动画,并且设置了一个动画加速曲线,这里为减速曲线,其他类型曲线的使用方法是一样的。

2)XML文件定义的动画动作

<span style="font-size:12px;"><?xml version="1.0" encoding="utf-8"?>
<translate
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXDelta="10" 
    android:toXDelta="300"
    android:duration="1000">
</translate></span>
这里值定义了一个平移的动画,从10dp移动到300dp,动画周期为1000ms


先记录这些,再试试其他的功能拿来分享






      

        



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值