码迷,mamicode.com
首页 > 移动开发 > 详细

android-Animation-<十二>

时间:2015-02-22 10:58:56      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:

1Animations

   它是指显示的动画效果,这些效果可以应用在绝大多数的控件里。

2Animations的分类

  第一类:Tweened Animations

             该类Animations提供了旋转(RotateAnimation),移动(TranslateAnimation),伸展(ScaleAnimation)

             和谈出(AlphaAnimation)的效果。Animation抽象类下的五大子类:

              AlphaAnimation, AnimationSet, RotateAnimation, ScaleAnimation, TranslateAnimation
             其中AnimationSet的是用来装载多个其他的Animation,这样一个控件可以显示多个动画效果。

  第二类:Frame-by-Frame Animations

             这一类Animations可以创建一个Drawable序列,这些Drawable可以按照指定的时间间隙一个一个的显示

3.Tweened Animations使用

    1.创建一个AnimationSet对象。

    2.创建(一个或多个)Animation对象(即除了Set以外的)。

    3.设置Animation对象的属性,AnimationSet属性。

    4.调用控件的方法startAnimation(animtion);//该控件就是要使用动画效果的控件

技术分享
 1 public class AnimationTestActivity extends Activity {
 2     
 3     /*animation:动画演示
 4      * 1.创建AnimationSet
 5      * 2.创建Animation对象:
 6      * AlphaAnimation, RotateAnimation, 
 7      * ScaleAnimation, TranslateAnimation
 8      * 3.设置该对象的参数
 9      * 4.set添加该对象进去
10      * 5.使用控件对象执行set
11      * */
12     private Button alphabutton=null;
13     private Button rotatebutton=null;
14     private Button scalebutton=null;
15     private Button translatebutton=null;
16     private ImageView imageview=null;
17     /** Called when the activity is first created. */
18     @Override
19     public void onCreate(Bundle savedInstanceState) {
20         super.onCreate(savedInstanceState);
21         setContentView(R.layout.main);
22         alphabutton=(Button)findViewById(R.id.alphabutton);
23         rotatebutton=(Button)findViewById(R.id.rotatebutton);
24         scalebutton=(Button)findViewById(R.id.scalebutton);
25         translatebutton=(Button)findViewById(R.id.translatebutton);
26         imageview=(ImageView)findViewById(R.id.imageview);
27         alphabutton.setOnClickListener(new OnClickListener() {
28             
29             public void onClick(View v) {
30                 // TODO Auto-generated method stub
31                 //1.创建AnimationSet对象
32                 AnimationSet set=new AnimationSet(true);
33                 //2.创建alphaanimation对象
34                 AlphaAnimation aa=new AlphaAnimation(1, 0);
35                 aa.setDuration(1000);
36                 //3.添加进去
37                 set.addAnimation(aa);
38                 //4.控件启动该set
39                  imageview.startAnimation(set);
40             }
41         });
42         rotatebutton.setOnClickListener(new OnClickListener() {
43             
44             public void onClick(View v) {
45                 // TODO Auto-generated method stub
46                 //1.创建AnimationSet对象
47                 AnimationSet set=new AnimationSet(true);
48                 //2.创建alphaanimation对象
49                 RotateAnimation aa=new RotateAnimation(70,0,70,0);
50                 set.setDuration(1000);
51                 set.setFillAfter(true);
52                 set.setFillBefore(false);
53                 //3.添加进去
54                 set.addAnimation(aa);
55                 //4.控件启动该set
56                  imageview.startAnimation(set);
57             }
58         });
59         
60     }
61 }
View Code

技术分享

技术分享

4.Frame-by-Frame Animations使用

技术分享

   res/anim/目录下的animationset的xml文件

<?xml version="1.0" encoding="utf-8"?>
<set 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_interpolator"
    >
  <alpha 
      android:fromAlpha="0.1"
      android:toAlpha="1.0"
      android:duration="3000"
      />    
   <rotate
       android:fromDegrees="0"
       android:toDegrees="360"
       android:pivotX="0.5"
       android:pivotY="0.5"
       android:duration="3000"
       />
</set>
public class AnimationTest2Activity extends Activity {
    /** 使用自定义的Animation*/
   private Button alphabutton=null;
    private ImageView imageview=null;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        alphabutton=(Button)findViewById(R.id.alphabutton);
        imageview=(ImageView)findViewById(R.id.imageview);
        alphabutton.setOnClickListener(new OnClickListener() {
            
            public void onClick(View v) {
              //1.获得alphaanimationset对象,R.anim.alpha为我们创建的alphaanimationset的xml文件
            Animation autils= AnimationUtils.loadAnimation(AnimationTest2Activity.this,R.anim.alpha);
              //2.控件启动该set
            imageview.startAnimation(autils);
            }
        });
    }
}

5.Interpolator和视频效果(采用多张图片快速显示)

技术分享

技术分享

技术分享

android-Animation-<十二>

标签:

原文地址:http://www.cnblogs.com/beyondbycyx/p/4297344.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!