最近在玩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;
- }
- });
- }
- }
http://blog.csdn.net/t12x3456/article/details/9006087