在Android应用程序中,我有一个布局,当用户按下按钮时,会显示不同的布局(在同一个活动中)。但是为了立即显示不同的布局,我想稍微延迟(约0.5秒)。如何在Android中做到最好?
在python中你只需time.sleep(0.5)
,但我已经看过已经打过几十行代码来做同样的事情。如何使用最简单的方法?
答案 0 :(得分:3)
public void onClick(View v) {
v.postDelayed(new Runnable() {
public void run() {
// do your delayed work
}
}, DELAY_PERIOD);
}
其中DELAY_PERIOD
是延迟时间(以毫秒为单位)。这里,onClick()
位于OnClickListener
实现中,或者是布局中android:onClick
指向的方法,或者是数据绑定框架指向的方法。
答案 1 :(得分:0)
有Thread.sleep(timeInMs),但它不是最好的选择,因为它会挂起main(ui线程)。
最好使用Handler
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
someAction();
}
}, 500)
答案 2 :(得分:-1)
最简单的方法是使用处理程序:
import android.os.Handler;
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
// Do something
}
}, 500);