参考: 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() 清除 动画效果