1,先看FrameAnimation,此动画是用来实现动态动画就是把一帧帧图片迭代起来

放在drowable中的xml:

<?xml version="1.0" encoding="utf-8"?

>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/ben_window_0001"
android:duration="60"
/> <item android:drawable="@drawable/ben_window_0002"
android:duration="60"
/>
<item android:drawable="@drawable/ben_window_0003"
android:duration="60"
/>
<item android:drawable="@drawable/ben_window_0004"
android:duration="60"
/>
<item android:drawable="@drawable/ben_window_0005"
android:duration="60"
/>
<item android:drawable="@drawable/ben_window_0006"
android:duration="60"
/>
<item android:drawable="@drawable/ben_window_0007"
android:duration="60"
/>
<item android:drawable="@drawable/ben_window_0008"
android:duration="60"
/>
<item android:drawable="@drawable/ben_window_0009"
android:duration="60"
/>
<item android:drawable="@drawable/ben_window_0010"
android:duration="60"
/>
<item android:drawable="@drawable/ben_window_0011"
android:duration="60"
/>
<item android:drawable="@drawable/ben_window_0012"
android:duration="60"
/>
<item android:drawable="@drawable/ben_window_0013"
android:duration="60"
/>
<item android:drawable="@drawable/ben_window_0014"
android:duration="60"
/>
<item android:drawable="@drawable/ben_window_0015"
android:duration="60"
/>
<item android:drawable="@drawable/ben_window_0016"
android:duration="60"
/>
<item android:drawable="@drawable/ben_window_0017"
android:duration="60"
/>
<item android:drawable="@drawable/ben_window_0018"
android:duration="60"
/>
<item android:drawable="@drawable/ben_window_0019"
android:duration="60"
/>
<item android:drawable="@drawable/ben_window_0020"
android:duration="60"
/>
<item android:drawable="@drawable/ben_window_0021"
android:duration="60"
/>
<item android:drawable="@drawable/ben_window_0022"
android:duration="60"
/>
<item android:drawable="@drawable/ben_window_0023"
android:duration="60"
/>
<item android:drawable="@drawable/ben_window_0024"
android:duration="60"
/>
<item android:drawable="@drawable/ben_window_0025"
android:duration="60"
/>
<item android:drawable="@drawable/ben_window_0026"
android:duration="60"
/>
<item android:drawable="@drawable/ben_window_0027"
android:duration="60"
/>
<item android:drawable="@drawable/ben_window_0028"
android:duration="60"
/> </animation-list>

Activity中:

package com.example.frameanimation;

import android.app.Activity;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.view.View;
import android.widget.Button; public class MainActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
} public void startAnimation(View v)
{ Button btn=(Button)v;
//得到动画对象
AnimationDrawable anim=(AnimationDrawable)btn.getBackground(); //启动动画
anim.start();
} }

这样我点击一个Tomcat就会循环的动

然后是补间动画

先看这些xml文件

<?

xml version="1.0" encoding="utf-8"?>
<alpha
android:fromAlpha="0.1"
android:toAlpha="1"
android:duration="5000" xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 透明度 0-1 0全然透明 1 全然不透明 -->
</alpha>
<?

xml version="1.0" encoding="utf-8"?>
<rotate android:fromDegrees="0"
android:toDegrees="360"
android:duration="500"
android:pivotX="50%"
android:pivotY="50%" android:interpolator="@android:anim/accelerate_interpolator"
android:repeatCount="infinite" android:repeatMode="reverse"
xmlns:android="http://schemas.android.com/apk/res/android">
<!-- repeatCount 反复次数 infinite 无限
repeatMode 反复模式
interpolator 加速器
--> </rotate>
<?

xml version="1.0" encoding="utf-8"?>
<scale android:fromXScale="0.5"
android:fromYScale="0.5" android:toXScale="2"
android:toYScale="2" android:pivotX="50%"
android:pivotY="50%"
android:duration="200"
android:repeatMode="reverse"
android:repeatCount="infinite"
xmlns:android="http://schemas.android.com/apk/res/android"> </scale>
<!--
fromXScale 1 本身状态
-->
<?xml version="1.0" encoding="utf-8"?

>
<translate xmlns:android="http://schemas.android.com/apk/res/android" android:fromXDelta="0"
android:fromYDelta="0" android:toXDelta="0"
android:toYDelta="80%p" android:duration="100"
android:repeatMode="reverse"
android:repeatCount="infinite"
> </translate>

主文件里的xml

无非就是一张图片加上几个button

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" > <ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="84dp"
android:src="@drawable/heart" android:id="@+id/myimg"
/> <Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/button2"
android:layout_alignBottom="@+id/button2"
android:layout_alignRight="@+id/myimg"
android:text="缩放"
android:onClick="scale"
/> <Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/myimg"
android:layout_marginLeft="32dp"
android:onClick="alpha"
android:text="alpha" /> <Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/button1"
android:layout_alignBottom="@+id/button1"
android:layout_marginRight="35dp"
android:layout_toLeftOf="@+id/button3"
android:onClick="rotate"
android:text="旋转" /> <Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/button1"
android:layout_below="@+id/button1"
android:text="位移动画"
android:onClick="translate"
/> </RelativeLayout>

然后在Activity中调用这些动画

package com.example.tweenanimation;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageView; public class MainActivity extends Activity { private ImageView image; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
image = (ImageView) findViewById(R.id.myimg);
} // 运行透明动画
public void alpha(View v) {
// 1.载入动画资源
Animation anim = AnimationUtils.loadAnimation(MainActivity.this,
R.anim.alpha);
// 2.运行动画
image.startAnimation(anim);
} //运行旋转动画
public void rotate(View v) {
Animation anim = AnimationUtils.loadAnimation(MainActivity.this,
R.anim.rotate); image.startAnimation(anim); }
//缩放动画
public void scale(View v) { Animation anim = AnimationUtils.loadAnimation(MainActivity.this,
R.anim.scale); image.startAnimation(anim);
} public void translate(View v) { Animation anim = AnimationUtils.loadAnimation(MainActivity.this,
R.anim.translate); image.startAnimation(anim);
} }

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGM2MzU0MDgxMzY=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

Android---06---2中动画效果的更多相关文章

  1. Android Acitivy切换平移动画效果实现

    1.在anim目录下新建anim文件夹,新建tran_in.xml和tran_out.xml分别表示下一页切换进入,和本页切换出去. 即in表示下一页向左平移,out表示同样向左平移至消失. tran ...

  2. 漂亮的Android加载中动画:AVLoadingIndicatorView

    AVLoadingIndicatorView 包含一组漂亮的Android加载中动画. IOS版本:here. 示例 Download Apk 用法 步骤1 Add dependencies in b ...

  3. 【转】Android 实现蘑菇街购物车动画效果

    原文出处:http://blog.csdn.net/wangjinyu501/article/details/38400479 1.思路   目前想到两种方式实现这种效果,一是使用Tween动画,直截 ...

  4. Android开发之View动画效果插补器Interpolator

    插补器Interpolator 官网描述:An interpolator defines the rate of change of an animation. This allows the bas ...

  5. Android 之Activity切换动画效果

    在Activity中Android提供了overridePendingTransition(int enterAnim,int exitAnim)这个方法用于设置Activity之间切换的动画效果.o ...

  6. Android 实现蘑菇街购物车动画效果

    版本号:1.0  日期:2014.8.6 版权:© 2014 kince 转载注明出处   使用过蘑菇街的用户基本上都知道有一个增加购物车的动画效果,此处不详细描写叙述想知道的能够去下载体验一下. 1 ...

  7. Android实现控件动画效果

    MainActivity.java public class MainActivity extends AppCompatActivity { private ImageView iv; privat ...

  8. android dialog加载中动画效果

    //显示动画 dialog = new Dialog(context, R.style.loading); dialog.setContentView(R.layout.loadinglayout); ...

  9. Android 为PopupWindow设置动画效果

    首先定义显示效果的动画文件: <?xml version="1.0" encoding="utf-8"?> <set xmlns:androi ...

  10. Android TextView数字增长动画效果

    某些app上,新进入一个Activity的时候,上面的一个关键性数字(比如金额)会以一个数字不断变大的动画来显示.刚开始的时候,想到的一个方案是:使用Thead+Handler,给定一个动画总时长与刷 ...

随机推荐

  1. js面试总结

    <div id="app"> <button onClick="app()">点击1</button> <button ...

  2. 【原创】DataPackage-数据库、表的区域设置和系统不一致导致处理失败

    问题描述: 最近学习Datapackage,创建完之后,部署处理但总是提示某某字段的区域设置和目标字段的区域设置不一致,具体如图: 测试发现其它的数据库表又没有这类的问题发生,甚是苦恼,搜寻了好久,后 ...

  3. 【转】2017PHP程序员的进阶之路

    2017PHP程序员的进阶之路 又是一年毕业季,可能会有好多毕业生即将进入开发这个圈子,踏上码农这个不归路.根据这些年在开发圈子总结的LNMP程序猿发展轨迹,结合个人经验体会,总结出很多程序员对未来的 ...

  4. 牛客小白月赛3 F 异或【区间交集】

    链接:https://www.nowcoder.com/acm/contest/87/F 来源:牛客网 题目描述 Cwbc想测试一下他的加密协议,以便防止其他人偷看他给XHRlyb的信. Cwbc提出 ...

  5. Codeforces 908 D New Year and Arbitrary Arrangement

    Discription You are given three integers k, pa and pb. You will construct a sequence with the follow ...

  6. [LOJ6278]数列分块入门 2

    题目大意: 给你一个长度为$n(n\leq 50000)$的序列$A$,支持进行以下两种操作: 1.将区间$[l,r]$中所有数加上$c$: 2.询问区间$[l,r]$中小于$c^2$的数的个数.思路 ...

  7. Android中调用系统所装的软件打开文件(转)

    Android中调用系统所装的软件打开文件(转) 在应用中如何调用系统所装的软件打开一个文件,这是我们经常碰到的问题,下面是我所用到的一种方法,和大家一起分享一下! 这个是打开文件的一个方法: /** ...

  8. 深入理解MySQL中的Redo、Undo、MVCC

    http://edu.csdn.net/course/detail/3495 http://edu.csdn.net/courses/o317_a3/云计算大数据

  9. JMeter之Ramp-up Period(in seconds)说明(可同时并发)(转载)

    Ramp-up Period(in seconds) [1]决定多长时间启动所有线程.如果使用10个线程,ramp-up period是100秒,那么JMeter用100秒使所有10个线程启动并运行. ...

  10. docker部署 自动测试脚本记录

    1 首先配置virtualenv, 并启动之,source py3env/bin/activate 2 安装各种必备包 ,如simplejson,chardet, configparser等 3 注意 ...