首页 > 网站 > 建站经验 > 正文

一种_Android 类似电影倒计时效果

2019-11-02 15:20:50
字体:
来源:转载
供稿:网友

 一种Android 类似电影倒计时效果 电脑高手

  1、Activity

  import java.util.Timer;

  import java.util.TimerTask;

  import android.annotation.SuppressLint;

  import android.app.Activity;

  import android.os.Bundle;

  import android.os.Handler;

  import android.os.Message;

  import android.view.View;

  import android.view.View.OnClickListener;

  import android.view.animation.Animation;

  import android.view.animation.RotateAnimation;

  import android.widget.Button;

  import android.widget.ImageView;

  import android.widget.TextView;

  public class Test extends Activity {

  private long mlCount = 50;

  private long mCount = 0;

  TextView tvTime;

  private Button startbuttondaoji;

  private Timer timer = null;

  private TimerTask task = null;

  private Handler handler = null;

  private Message msg = null;

  private ImageView min_progress, min_progress_hand;

  Animation rotateAnimation;

  float predegree = 0;

  boolean okclear = false;

  @SuppressLint("HandlerLeak")

  @Override

  public void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

  init();

  }

  private void init() {

  setContentView(R.layout.test);

  tvTime = (TextView) findViewById(R.id.duocitvTime);

  startbuttondaoji = (Button) findViewById(R.id.startbuttonduoci);

  min_progress = (ImageView) this.findViewById(R.id.duocimin_progress);

  min_progress_hand = (ImageView) this

  .findViewById(R.id.duocimin_progress_hand);

  tvTime.setText("4");

  SaveRun.setisjishi(false);

  handler = new Handler() {

  @Override

  public void handleMessage(Message msg) {

  switch (msg.what) {

  case 1:

  if(mlCount>1){

  mlCount--;

  mCount++;

  }else{

  break;

  }

  int totalSec = 0;

  totalSec = (int) (mlCount / 10);

  int sec = (totalSec % 60);

  try {

  rotateAnimation = new RotateAnimation(predegree,

  (float) (36 * mCount),

  Animation.RELATIVE_TO_SELF, 0.5f,

  Animation.RELATIVE_TO_SELF, 0.5f);

  rotateAnimation.setDuration(100);

  rotateAnimation.setFillAfter(false);

  min_progress_hand.startAnimation(rotateAnimation);

  min_progress.startAnimation(rotateAnimation);

  tvTime.setText(String.format("%1$2d",

  sec));

  predegree = (float) (36 * mCount);

  } catch (Exception e) {

  tvTime.setText( sec +"");

  e.printStackTrace();

  }

  break;

  default:

  break;

  }

  super.handleMessage(msg);

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表