Java 如何在屏幕上显示值而不阻塞UI,并使其在android活动中以样式淡出?
我正在为android制作一个文字游戏,基本上每当用户输入正确的内容时,我都会在应用程序中更新分数,我想在屏幕上显示分数,使其以大屏幕显示,然后慢慢淡出并变小,我该怎么做?是否可以在AsyncTask类中实现它? 这是我用来检查输入的单词是否正确的方法Java 如何在屏幕上显示值而不阻塞UI,并使其在android活动中以样式淡出?,java,android,user-interface,Java,Android,User Interface,我正在为android制作一个文字游戏,基本上每当用户输入正确的内容时,我都会在应用程序中更新分数,我想在屏幕上显示分数,使其以大屏幕显示,然后慢慢淡出并变小,我该怎么做?是否可以在AsyncTask类中实现它? 这是我用来检查输入的单词是否正确的方法 public class checkWord extends AsyncTask<String, String, Void> { private String c; @Override protec
public class checkWord extends AsyncTask<String, String, Void> {
private String c;
@Override
protected Void doInBackground(String... arg0) {
int size = correctWords.size();
String word = arg0[0];
for (int i = 0; i < size; i++) {
if (word.equalsIgnoreCase(correctWords.get(i))) {
publishProgress("bad");
}
}
try {
c = bufferedReader.readLine();
while (c != null && !c.equalsIgnoreCase(word)) {
c = bufferedReader.readLine();
}
if (c != null) {
correctWords.add(0, word);
score += word.length();
publishProgress("good");
} else {
incorrectWords.add(0, word);
publishProgress("bad");
}
} catch (IOException e) {
e.printStackTrace();
}
closeWordFile();
openWordFile();
return null;
}
而是用祝酒词。它不会影响您的UI。因为Android中的单线程模型,只有主线程可以更新UI,您可以在
runOnUiThread(new Runnable()
{
public void run()
{}
}
方法。好的,但我实际上如何得出分数?我对android还是新手,只想在屏幕上画“+3”,然后淡出。。有什么建议吗?我想做些更有吸引力的事。但是你的想法很棒!我创建了一个扩展Toast的类,并对其进行了自定义,然后使用它。非常感谢您牵引力是次要的,但功能很重要。所以,试试这个,如果你对你的输出感到满意,那就选一个更吸引人的:-)它确实非常有用,谢谢!然而,由于我还没有15岁的名声,我无法投票,对不起:(我把它标为正确答案。)
runOnUiThread(new Runnable()
{
public void run()
{}
}