android -> 尺度变化动画类( ScaleAnimation)
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() 清除 动画效果