设为首页 加入收藏

TOP

Android 4应用动画案列一(一)
2014-11-24 14:49:05 来源: 作者: 【 】 浏览:90
Tags:Android 应用 动画

这个例子很简单,先看我截的几张图吧:








以上就是简单的动画截图,废话不多是了,看下源吗就知道,这里的源代码相对来说都很简单,我就不对齐解释了:


java代码:


package com.jsd.android4;


import com.jsd.android4.bouncing.BouncingBalls;


import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;


public class Android4_DemosActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
init();
}

private void init(){
Button mToBuncingBalls = (Button) findViewById(R.id.bouncingBalls);
mToBuncingBalls.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent mIt = new Intent();
mIt.setClass(Android4_DemosActivity.this,BouncingBalls.class);
startActivity(mIt);
}
});
}
}




package com.jsd.android4.bouncing;


import java.util.ArrayList;


import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.AnimatorSet;
import android.animation.Argbeva luator;
import android.animation.ObjectAnimator;
import android.animation.ValueAnimator;
import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.RadialGradient;
import android.graphics.Shader;
import android.graphics.drawable.ShapeDrawable;
import android.graphics.drawable.shapes.OvalShape;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.animation.AccelerateInterpolator;
import android.view.animation.DecelerateInterpolator;
import android.widget.LinearLayout;


import com.jsd.android4.R;
/**
*
* @author jankey
*
*/
public class BouncingBalls extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.bouncing_balls);
LinearLayout container = (LinearLayout) findViewById(R.id.container);
container.addView(new MyAnimationView(this));
}


public class MyAnimationView extends View {


private static final int BLUE = 0xff8080FF;
private static final int RED = 0xffFF8080;
private static final int CYAN = 0xff80ffff;
private static final int GREEN = 0xff80ff80;
private static final int DURATION = 3000;
private static final float WIDTH = 50f;
private static final float HEIGHT = 50f;


public final ArrayList balls = new ArrayList();
AnimatorSet animation = null;


public MyAnimationView(Context context) {
super(context);
ValueAnimator colorAnim = ObjectAnimator.ofInt(this,
"backgroundColor", BLUE, RED);
colorAnim.setDuration(DURATION);
colorAnim.seteva luator(new Argbeva luator());
colorAnim.setRepeatCount(ValueAnimator.INFINITE);
colorAnim.setRepeatMode(ValueAnimator.REVERSE);
colorAnim.start();
}


@Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() != MotionEvent.ACTION_DOWN
&& event.getAction() != MotionEvent.ACTION_MOVE) {
return false;
}
ShapeHolder newBall = addBall(event.getX(), event.getY());
float startY = newBall.getY();
float endY = getHeight() - 50f;
float h = (float) getHeight();
float eventY = event.getY();
int duration = (int) (500 * ((h - eventY) / h));
Valu

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇采用多线程方式的Ruby DRB server.. 下一篇Android 类似360 系统启动时间提示

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: