• ScaleAnimation类:尺寸变化动画类


    9.4  ScaleAnimation类:尺寸变化动画类

    ScaleAnimation类是Android系统中的尺寸变化动画类,用于控制View对象的尺寸变化,该类继承于Animation类。ScaleAnimation类中的非常多方法都与Animation类一致,该类中最经常使用的方法便是ScaleAnimation构造方法。

    【基本的语法】public ScaleAnimation (float fromX, float toX, float fromY, float toY, int pivotXType, float pivotXValue, int pivotYType, float pivotYValue)

    參数说明

    fromX:起始X坐标上的伸缩尺寸。

    toX:结束X坐标上的伸缩尺寸。

    fromY:起始Y坐标上的伸缩尺寸。

    toY:结束Y坐标上的伸缩尺寸。

    pivotXType:X轴的伸缩模式,能够取值为ABSOLUTE、RELATIVE_TO_SELF、RELATIVE_TO_PARENT。

    pivotXValue:X坐标的伸缩值。

    pivotYType:Y轴的伸缩模式,能够取值为ABSOLUTE、RELATIVE_TO_SELF、RELATIVE_TO_PARENT。

    pivotYValue:Y坐标的伸缩值。

    【实例演示】以下通过代码来演示怎样设置一个简单的尺寸变化动画效果。

    1. public class firstActivity extends Activity {  
    2. /** Called when the activity is first created. */  
    3. @Override  
    4. public void onCreate(Bundle savedInstanceState) {           //重载onCreate方法  
    5.     super.onCreate(savedInstanceState);  
    6.     setContentView(R.layout.main);  
    7.  
    8.     final ImageView image=(ImageView)findViewById(R.id.imageView1); //ImageView对象  
    9.     Button btn1=(Button)findViewById(R.id.button1);         //按钮对象  
    10.     Button btn2=(Button)findViewById(R.id.button2);  
    11.     final Animation scaleAnimationnew   
    12.      ScaleAnimation(0f,1f,0f,1f,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);  
    13.                                                         //设置尺寸变化动画对象  
    14.     btn1.setOnClickListener(new View.OnClickListener() {        //设置监听器  
    15.           
    16.         @Override  
    17.         public void onClick(View v) {  
    18.             // TODO Auto-generated method stub  
    19.             scaleAnimation.setDuration(2000);               //动画持续时间  
    20.             image.setAnimation(scaleAnimation);         //设置动画  
    21.             scaleAnimation.startNow();                      //启动动画  
    22.         }  
    23.     });  
    24.     btn2.setOnClickListener(new View.OnClickListener() {        //设置监听器  
    25.           
    26.         @Override  
    27.         public void onClick(View v) {  
    28.             // TODO Auto-generated method stub  
    29.             scaleAnimation.cancel();                        //取消动画运行  
    30.         }  
    31.     });  
    32. }  
    33. }  

    在这段代码中,首先通过ScaleAnimation构造方法创建了一个尺寸变化的动画对象。然后,在第一个button监听器中设置了动画的持续时间,之后启动该动画。在第二个button监听器中取消该动画。读者执行这段代码,将看到图片从小到大逐渐变化,如图9.9所看到的。最后,图片增大到原始尺寸的时候停止,如图9.10所看到的。
     
    图9.9  尺寸变化动画
     
    图9.10  原始尺寸图片
  • 相关阅读:
    第六章实验报告
    第三次实验报告
    第五章 循环结构课后反思
    第二次实验报告
    第一次实验报告
    第一次课后作业
    第五章 循环结构
    第九章实验报告
    第八章实验报告
    第七章 数组实验
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4283049.html
Copyright © 2020-2023  润新知