我正在开发用户使用 android 玩的棋盘游戏。由于 android 非常快,我想假装 android 正在执行一些艰难的计算,因此需要时间进行下一步。
我想做的事:-
- 用户转 - 他移动。
- Android转-android显示文字“我在想”2秒
- Android 会隐藏该文本,并且只有在此之后才会轮到他。
我试着做: -
onAndroidTurn(){
textView1.setVisibility(View.VISIBLE);
Thread.sleep(2000);
textView2.setVisibility(View.GONE);
}
但是会发生什么是线程休眠但没有显示文本(好吧,我知道为什么)。
然后在stackoverflow上搜索,我学到了一个方法:-
onAndroidTurn(){
textView1.setVisibility(View.VISIBLE);
new Handler().postDelayed(new Runnable(){
void run() {
textView1.setVisibility(View.GONE);
}
}, 2000);
}
现在这样做是它在另一个线程中运行该文本并且轮到android在屏幕上更新并且在移动它之后轮到android显示“Thinking”是完全愚蠢的。
我能为此做些什么?