您的位置:首页 > 其它

起始页的小球动画 一

2019-03-24 18:57 134 查看

主页面

public class MainActivity extends AppCompatActivity {

private CricleView mCricleView;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 寻找继承的View
mCricleView=(CricleView)findViewById(R.id.cricle);
// 获取屏幕宽高
int width=getWindowManager().getDefaultDisplay().getWidth();
int height=getWindowManager().getDefaultDisplay().getHeight();
// 设置X Y轴移动方向
ObjectAnimator ObjectAnimatorX=ObjectAnimator.ofFloat(mCricleView,"translationX",0,width-100);
ObjectAnimator ObjectAnimatorY=ObjectAnimator.ofFloat(mCricleView,"translationY",0,height-220);
// 设置组合执行动画
AnimatorSet animatorSet = new AnimatorSet();
// 设置执行时间
animatorSet.setDuration(3000);
// 设置一起执行
animatorSet.play(ObjectAnimatorX).with(ObjectAnimatorY);
// 开关
animatorSet.start();
/* 添加监听事件,执行完成以后须要跳转,所以在这里写一个监听事件*/
animatorSet.addListener(new Animator.AnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {

}

@Override
public void onAnimationEnd(Animator animation) {
// 小球动画结束后跳转到登录页面
startActivity(new Intent(MainActivity.this,LoginActivity.class));
// 结束
finish();
}

@Override
public void onAnimationCancel(Animator animation) {

}

@Override
public void onAnimationRepeat(Animator animation) {

}
});
// handler设置变颜色
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
mCricleView.setColor(Color.BLUE);
}
},1000);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
mCricleView.setColor(Color.GREEN);
}
},2000);
}
}

View层

public class CricleView extends View {

private Paint mPaint;

public CricleView(Context context) {
super(context);
init(context);
}

public CricleView(Context context, AttributeSet attrs) {
super(context, attrs);
init(context);
}

// 初始化
private void init(Context context) {
// 定义画笔
mPaint = new Paint();
// 描边
mPaint.setAntiAlias(true);
// 设置颜色
mPaint.setColor(Color.YELLOW);
// 设置宽
mPaint.setStrokeWidth(5);
}

// 画布
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// 画圆 X轴,Y轴,半径三个数据值 最后传一个画笔
canvas.drawCircle(50,50,50,mPaint);
}
// 传递颜色
public void setColor(int color ){
// 改变颜色
mPaint.setColor(color);
// 刷新改变颜色
invalidate();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: