@Override public void onClick(View v) { super.onClick(v); switch (v.getId()) { case R.id.btn_register: handleRegisterRequest(); break; } }
@Override public void onClick(View v) { super.onClick(v); switch (v.getId()) { case R.id.point: int lap = laps[(int) (Math.random() * 4)]; int angle = angles[(int) (Math.random() * 8)]; // 每次转圈角度增量 int increaseDegree = lap * 360 + angle; // 初始化旋转动画,后面的四个参数是用来设置以自己的中心点为圆心转圈 RotateAnimation rotateAnimation = new RotateAnimation( startDegree, startDegree + increaseDegree, RotateAnimation.RELATIVE_TO_SELF, 0.5f, RotateAnimation.RELATIVE_TO_SELF, 0.5f); // 将最后的角度赋值给startDegree作为下次转圈的初始角度 startDegree += increaseDegree; // 计算动画播放总时间 long time = (lap + angle / 360) * ONE_WHEEL_TIME; // 设置动画播放时间 rotateAnimation.setDuration(time); // 设置动画播放完后,停留在最后一帧画面上 rotateAnimation.setFillAfter(true); // 设置动画的加速行为,是先加速后减速 rotateAnimation.setInterpolator( LotteryActivity.this, android.R.anim.accelerate_decelerate_interpolator); // 设置动画的监听器 rotateAnimation.setAnimationListener(al); // 开始播放动画 pointIv.startAnimation(rotateAnimation); break; } }