Android开发ScaleAnimation详解

maiziedu 发布于 2015/01/27 11:20
阅读 5K+
收藏 0
android开发中提供了如下4种动画效果:  

1、AlphaAnimation 透明度动画效果 
2、ScaleAnimation 缩放动画效果 
3、TranslateAnimation 位移动画效果 
4、RotateAnimation 旋转动画效果 

今天主要讲解ScaleAnimation 缩放动画效果的实现方法。

ScaleAnimation参数有:float fromX, float toX, float fromY, float toY,int pivotXType, float pivotXValue, int pivotYType, float pivotYValue 转自麦子学院-国内最专业的IT在线教育平台。
分别是:
float fromX 动画起始时 X坐标上的伸缩尺寸 
float toX 动画结束时 X坐标上的伸缩尺寸 
float fromY 动画起始时Y坐标上的伸缩尺寸 
float toY 动画结束时Y坐标上的伸缩尺寸 
int pivotXType 动画在X轴相对于物件位置类型 
float pivotXValue 动画相对于物件的X坐标的开始位置 
int pivotYType 动画在Y轴相对于物件位置类型 

float pivotYValue 动画相对于物件的Y坐标的开始位置 


代码示例:

  1. public class MainActivity extends Activity { 
  2. ImageView image; 
  3. Button start; 
  4. Button cancel; 
  5. @Override 
  6. public void onCreate(Bundle savedInstanceState) { 
  7. super.onCreate(savedInstanceState); 
  8. setContentView(R.layout.activity_main); 
  9. image = (ImageView) findViewById(R.id.main_img); 
  10. start = (Button) findViewById(R.id.main_start); 
  11. cancel = (Button) findViewById(R.id.main_cancel); 
  12. /** 设置缩放动画 */ 
  13. final ScaleAnimation animation =new ScaleAnimation(0.0f, 1.4f, 0.0f, 1.4f, 
  14. Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); 
  15. animation.setDuration(2000);//设置动画持续时间 
  16. /** 常用方法 */ 
  17. //animation.setRepeatCount(int repeatCount);//设置重复次数 
  18. //animation.setFillAfter(boolean);//动画执行完后是否停留在执行完的状态 
  19. //animation.setStartOffset(long startOffset);//执行前的等待时间 
  20. start.setOnClickListener(new OnClickListener() { 
  21. public void onClick(View arg0) { 
  22. image.setAnimation(animation); 
  23. /** 开始动画 */ 
  24. animation.startNow(); 

  25. }); 
  26. cancel.setOnClickListener(new OnClickListener() { 
  27. public void onClick(View v) { 
  28. /** 结束动画 */ 
  29. animation.cancel(); 

  30. }); 

  31. }
复制代码


加载中
0
noprom
noprom
代码没有格式化,不好看
lr0822
lr0822
……
返回顶部
顶部