gpt4 book ai didi

java - Android Java : . setText() 每 x 毫秒

转载 作者:行者123 更新时间:2023-11-30 09:22:01 26 4
gpt4 key购买 nike

我想做以下事情:我在我的应用程序中为全局函数提供了一个字符串,该函数打开了一个看起来像对话泡泡的 FrameLayout。这包括一个用于字符串的 TextView。到目前为止效果很好——但我希望它看起来像“现场演讲”。所以文本不应该只出现,而是 x 毫秒后的每个字符。喜欢:


帮助
hell
(等等)

你对此有什么想法吗?谢谢!

最佳答案

我已经编写了一个扩展 AsyncTask 的类,作为您如何执行此操作的快速示例:

public class TyperTask extends AsyncTask<Void, String, Void> {
TextView mTextView;
String mMessage;
int mTypingDelay;

TyperTask(TextView textView, String message, int typingDelay) {
this.mTextView = textView;
this.mMessage = message;
this.mTypingDelay = typingDelay;
}

@Override
protected Void doInBackground(Void... params) {
for (int i = 0; i < mMessage.length(); i++) {
publishProgress(String.valueOf(mMessage.charAt(i)));
try {
Thread.sleep(mTypingDelay);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
return null;
}

@Override
protected void onProgressUpdate(String... typedChar) {
mTextView.append(typedChar[0]);
}

}

使用方法如下:

TextView myTextView = (TextView) findViewById(R.id.myTextView);
new TyperTask(myTextView, "This is a test message.", 100).execute();

关于java - Android Java : . setText() 每 x 毫秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16670324/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com