我正在尝试制作一个掷骰子应用程序,并且我想运行一个活动,该活动在按下按钮时显示结果图像,并在几秒钟后将其关闭。那么我该怎么做呢?
也许还有另一种方法可以在我的活动之上显示图像而不调用新活动?我不知道。
我读过一些关于计时器的东西,但我真的不明白。而且我知道人们会告诉我让用户点击以关闭窗口,但对于这个应用程序,我确定我希望它自动消失。
我正在尝试制作一个掷骰子应用程序,并且我想运行一个活动,该活动在按下按钮时显示结果图像,并在几秒钟后将其关闭。那么我该怎么做呢?
也许还有另一种方法可以在我的活动之上显示图像而不调用新活动?我不知道。
我读过一些关于计时器的东西,但我真的不明白。而且我知道人们会告诉我让用户点击以关闭窗口,但对于这个应用程序,我确定我希望它自动消失。
你可以使用这个:
Timer t = new Timer();
t.schedule(new TimerTask() {
@Override
public void run() {
image.setVisibility(View.GONE);
// If you want to call Activity then call from here for 5 seconds it automatically call and your image disappear....
}
}, 5000);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
image.setVisibility(View.GONE);
}
}, 1500);
有很多方法可以做到这一点。
您可以拥有一个消失/不可见的 ImageView,稍后当您想要显示它时,您可以打开 View.Visible 的可见性。
你可以有一个计时器。检查计时器,当计时器到期时,您可以使用 ImageView 执行所需的操作。我觉得,您需要通过其他活动添加额外的重载。
Maybe there's another way to display an image on top of my activity without calling a new activity? I'm not sure.
我认为您也可以使用对话框来显示图像。
I want to run an activity which displays an image of the result when a button is pressed and close it after a few seconds. So how can I do this?
使用 CountDownTime示例。并在按钮单击。
mTimer = new MyTimer(timeToDisplay, interval);
mTimer.start()
示例代码..
class MyTimer extends CountDownTimer {
//constructor for timer class
public MyTimer(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
// this method called when timer is finished
@Override
public void onFinish() {
//close activity or dismiss dialog here
}
//this method is called for every iteration of time interval
@Override
public void onTick(long millisUntilFinished) {
}
}
单击按钮后尝试此操作,活动将在 2 秒后完成
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
v.postDelayed(new Runnable() {
@Override
public void run() {
finish();
}
}, 2000);
}
});