【发布时间】:2022-09-23 01:04:21
【问题描述】:
使用 kotlin 类以简单的方式逐个字母显示 喜欢 : 一个 一个 和 安德烈 安德罗 安德罗伊 安卓
使用 kotlin 类以简单的方式逐个字母显示 喜欢 : 一个 一个 和 安德烈 安德罗 安德罗伊 安卓
尝试这个:
val textView = TextView(this)
val resultText = "Android"
Thread {
for (i in 0..resultText.length) {
runOnUiThread { textView.text = resultText.substring(0, i) }
Thread.sleep(500)
}
}.start()
您必须将textView 添加到某个父级,例如您的contentView。
【讨论】:
我更喜欢 Cactusroot 的回答,但这是使用Timer 的另一种方法
private fun animateCharacters(activity: Activity, str: String, animationIntervalMs: Long) {
val chars = str.toCharArray().toMutableList()
var cStr = ""
val timer = Timer()
val task = object: TimerTask() {
override fun run() {
activity.runOnUiThread {
val char = chars.removeFirstOrNull()
if (char == null) {
cancel()
return@runOnUiThread
}
cStr += char
Log.i("Animated String", cStr)
// update UI with new text
}
}
}
timer.schedule(task, 0, animationIntervalMs)
}
【讨论】: