ScaleAnimation 动画学习

关于ScaleAnimation 动画的学习,主要在于下面这个方法,及其参数的理解和运用


ScaleAnimation(float fromX, float toX, float fromY, float toY,int pivotXType, float pivotXValue, int pivotYType, float pivotYValue) 

各参数的表达的意义如下:

float fromX 动画起始时 X坐标上的伸缩尺寸 ----这个值一般为0.0f
float toX 动画结束时 X坐标上的伸缩尺寸 ----这个值越大,动画显得越胖

float fromY 动画起始时Y坐标上的伸缩尺寸 ----这个值一般为0.0f

float toY 动画结束时Y坐标上的伸缩尺寸 ----这个值越大,动画显得越高
int pivotXType 动画在X轴相对于物件位置类型 ----设置物件在X方向,相对于哪条轴变化
float pivotXValue 动画相对于物件的X坐标的开始位置 ----这个值通常为0.5f,这种情况下,动画X方向的变化,                                                                                                    会从物件的中心开始
int pivotYType 动画在Y轴相对于物件位置类型 -----设置物件在Y方向,相对于哪条轴变化
float pivotYValue 动画相对于物件的Y坐标的开始位置 ------这个值通常为0.5f,这种情况下,动画Y方向的变化, 
 会从物件的中心开始


pivotXValue和pivotYValue,这两个值的正负,大小的调整可使动画在整屏幕上呈现出不同的变化。

如下例子:
public class MainActivity extends Activity {
ImageView image;
Button start;
Button cancel;


@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
image = (ImageView) findViewById(R.id.imageView1);
start = (Button) findViewById(R.id.button1);
cancel = (Button) findViewById(R.id.button2);
/** 设置缩放动画 */
final ScaleAnimation animation = new ScaleAnimation(0.0f, 1.4f, 0.0f,
1.4f, Animation.RELATIVE_TO_SELF, 0.5f,
Animation.RELATIVE_TO_SELF, 0.5f);
animation.setDuration(2000);// 设置动画持续时间
/** 常用方法 */
// animation.setRepeatCount(int repeatCount);//设置重复次数
// animation.setFillAfter(boolean);//动画执行完后是否停留在执行完的状态
// animation.setStartOffset(long startOffset);//执行前的等待时间
start.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
image.setAnimation(animation);
/** 开始动画 */
animation.startNow();
}
});
cancel.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
/** 结束动画 */
animation.cancel();
}
});
}

}


主要是对红色字体几个方法的掌握


通过对例子中ScaleAnimation 方法,参数的修改调整,得出如下结论:

1.loat fromX, float toX, float fromY, float toY,这四个值决定了动画自身变化的方式

2.int pivotXType, float pivotXValue, int pivotYType, float pivotYValue,这四个值决定了动画在屏幕上位置动作的方式

你可能感兴趣的:(android,UI)