我正在尝试创建一个倒计时器,该计时器每秒都会弹出并显示不同的图像,因此它会显示“3、2、1、开始”,然后启动不同的 Activity 。我已经尝试了很多方法,但没有任何方法可以工作..如果有人能指出我正确的方向,那就太好了!
package com.practice;
import android.app.Activity;
import android.app.Dialog;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.widget.ImageView;
public class Practice2 extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final long delayCount = 1000;
final long delayIncrement = 1000;
final long delayCount1 = 1000;
final long delayIncrement1 = 1000;
final long delayCount2 = 1000;
final long delayIncrement2 = 1000;
final Dialog dialog = new Dialog (Practice2.this,
android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);
dialog.setTitle("Get ready to play DrawTastic!");
final CountDownTimer timer = new CountDownTimer(delayCount, delayIncrement) {
@Override
public void onTick(long millisUntilFinished) {
// TODO Auto-generated method stub
ImageView three = (ImageView) dialog.findViewById(R.id.iv3);
three.setImageResource(R.drawable.three);
}
@Override
public void onFinish() {
// TODO Auto-generated method stub
ImageView two = (ImageView)dialog.findViewById(R.id.iv2);
two.setImageResource(R.drawable.two);
timer1.start();
}
final CountDownTimer timer1 = new CountDownTimer(delayCount1, delayIncrement1) {
@Override
public void onTick(long millisUntilFinished) {
// TODO Auto-generated method stub
ImageView one = (ImageView) dialog.findViewById(R.id.iv1);
one.setImageResource(R.drawable.one);
}
@Override
public void onFinish() {
// TODO Auto-generated method stub
ImageView play = (ImageView) dialog.findViewById(R.id.ivPlay);
play.setImageResource(R.drawable.play);
timer2.start();
}
final CountDownTimer timer2 = new CountDownTimer(delayCount2, delayIncrement2) {
@Override
public void onTick(long millisUntilFinished) {
// TODO Auto-generated method stub
ImageView play = (ImageView) dialog.findViewById(R.id.ivPlay);
play.setImageResource(R.drawable.play);
}
@Override
public void onFinish() {
// TODO Auto-generated method stub
ImageView play = (ImageView) dialog.findViewById(R.id.ivPlay);
play.setImageResource(R.drawable.play);
dialog.dismiss();
}
};
};
};
timer.start();
dialog.show();
}
}
最佳答案
利用Handler 。您需要以 1 秒的时间间隔显示 4 个不同的图像。类似的东西 -
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
imageView.setBackgroundResource(R.id.nextImage);
}
}, 1000);
但是,我建议您使用 TextView
,如 API 演示中所示。
转到 API 演示中的 Views->TextSwitcher
。
关于android - 弹出带有图像的倒计时警报(android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9887214/