android -> 尺寸变化动画类( ScaleAnimation)

参考: https://my.oschina.net/u/242041/blog/198971

 

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

参数说明

fromX:起始X坐标上的伸缩尺寸。(1f 可看做100%宽度)

toX:结束X坐标上的伸缩尺寸。 ( 0f 可以看做 0%宽度) 

fromY:起始Y坐标上的伸缩尺寸。(1f 可看做100%高度)

toY:结束Y坐标上的伸缩尺寸。(0f 可看做0%高度)

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

pivotXValue:X坐标的伸缩值。 (可理解成 结束位置的值  1f = 100% 就有最后边,  0f=0% 就是最左边) 

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

pivotYValue:Y坐标的伸缩值。( 1f=100% 最下边, 0f=0%最上边) 

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

 

public class firstActivity extends Activity {  
/** Called when the activity is first created. */  
@Override  
public void onCreate(Bundle savedInstanceState) {           //重载onCreate方法  
    super.onCreate(savedInstanceState);  
    setContentView(R.layout.main);  
 
    final ImageView image=(ImageView)findViewById(R.id.imageView1); //ImageView对象  
    Button btn1=(Button)findViewById(R.id.button1);         //按钮对象  
    Button btn2=(Button)findViewById(R.id.button2);  
    final Animation scaleAnimation= new   
     ScaleAnimation(0f,1f,0f,1f,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);  
                                                        //设置尺寸变化动画对象  
    btn1.setOnClickListener(new View.OnClickListener() {        //设置监听器  
          
        @Override  
        public void onClick(View v) {  
            // TODO Auto-generated method stub  
            scaleAnimation.setDuration(2000);               //动画持续时间  
            image.setAnimation(scaleAnimation);         //设置动画  
            scaleAnimation.startNow();                      //启动动画  
        }  
    });  
    btn2.setOnClickListener(new View.OnClickListener() {        //设置监听器  
          
        @Override  
        public void onClick(View v) {  
            // TODO Auto-generated method stub  
            scaleAnimation.cancel();                        //取消动画执行  
        }  
    });  
}  
}

 

 另外 可以在 

scaleAnimation.startNow();
XXX.setVisibility(View.GONE);

后设置 setVisibility(View.GONE) 或者 VISIBLE 表示最终 想要这个元素 是 显示还是隐藏

image.clearAnimation()   清除 动画效果

 

 

猜你喜欢

转载自mft.iteye.com/blog/2363968