最近在玩3g体育门户客户端的时候,看到这样个效果: 轻触赛事图标,会有一个图标变大浮出的效果.,蛮有意思的.于是就把仿照它做了一个.
这个是原图:
实际上是给图标的触摸事件中添加了一个缩放的动画,代码如下.
package com.test; import android.app.Activity; import android.os.Bundle; import android.view.MotionEvent; import android.view.View; import android.view.View.OnTouchListener; import android.view.animation.Animation; import android.view.animation.ScaleAnimation; import android.widget.Button; public class AnimationButtonActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); final Button test = (Button) findViewById(R.id.test_bt); // float f1 = 1.0F; // float f2 = 1.3F; // int j = 1; // float f3 = 0.5F; //参数说明: //float fromX 动画起始时 X坐标上的伸缩尺寸 //float toX 动画结束时 X坐标上的伸缩尺寸 //float fromY 动画起始时Y坐标上的伸缩尺寸 //float toY 动画结束时Y坐标上的伸缩尺寸 //int pivotXType 动画在X轴相对于物件位置类型 //float pivotXValue 动画相对于物件的X坐标的开始位置 //int pivotYType 动画在Y轴相对于物件位置类型 //float pivotYValue 动画相对于物件的Y坐标的开始位置 final Animation logoAnimation = new ScaleAnimation(1.0F, 1.3F, 1.0F, 1.3F, 1, 0.5F, 1, 0.5F); //设置动画间隔 logoAnimation.setDuration(100L); test.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { //开始动画 test.startAnimation(logoAnimation); return false; } }); } }