android三类Animation详解_html/css_WEB-ITnose

WBOY
Release: 2016-06-24 11:31:11
Original
933 people have browsed it

我们搞android的都知道android的三类Animation,分别是Tween Animation ,Frame Animation和属性动画。

1.frame animation非常的简单,说白了就是由一张一张的图片组合而成,首先在drawable文件夹下创建一个类似下面的文件:

<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/ee_1" android:duration="10" /> <item android:drawable="@drawable/ee_2" android:duration="10" /> <item android:drawable="@drawable/ee_3" android:duration="10" /> <item android:drawable="@drawable/ee_6" android:duration="10" /> <item android:drawable="@drawable/ee_7" android:duration="10" /></animation-list>
Copy after login

然后在java文件中:

AnimationDrawable animationDrawable = (AnimationDrawable) getDrawable(R.drawable.frame_animation);frameAnimation = (TextView) findViewById(R.id.fram_animation);frameAnimation.setBackground(animationDrawable);animationDrawable.start();
Copy after login

就OK了

2.tween animation有四种形式,分别是alpha scale translate rotate ,相信大家都知道什么意思。使用tween animation有两种方式,一种是使用XML实现,一种是纯代码实现,在开发中我们也没有必要两种方式都非常熟悉,只要有一种比较熟就可以了,我个人爱好比较喜欢使用XML。首先创建一个anim文件夹,然后创建一个类似下面的文件:

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"    android:fillAfter="true"//保持变化后的状态    >    <rotate android:pivotY="50%"        android:pivotX="50%"        android:fromDegrees="0"        android:toDegrees="360"        android:duration="1000"        android:startOffset="0"//每一次的间隔时间        android:repeatCount="3"//重复次数        />    <scale android:pivotY="0"        android:pivotX="0"        android:fromXScale="1"        android:toXScale="0.5"        android:fromYScale="1"        android:toYScale="0.5"        android:duration="1000"        />    <translate android:duration="5000"        android:fromXDelta="0"//相对位置        android:fromYDelta="0"//相对位置        android:toXDelta="700"//相对位置        android:toYDelta="0"//相对位置        /></set>
Copy after login

上述代码需要注意的地方一标注

然后在java文件中调用:

Animation animation = AnimationUtils.loadAnimation(this,R.anim.tween_animation);animation.setAnimationListener(new Animation.AnimationListener() {    @Override    public void onAnimationStart(Animation animation) {    }    @Override    public void onAnimationEnd(Animation animation) {        Toast.makeText(getApplicationContext(),"完成",Toast.LENGTH_LONG).show();    }    @Override    public void onAnimationRepeat(Animation animation) {    }});view.startAnimation(animation);
Copy after login

是不是特别简单。

关于属性动画将在下篇博客中介绍到

来自: http://my.oschina.net/gef/blog/553040

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!