Android Studio
JAVA - String 값 한글자씩 표시해보기(타이핑 효과)
정글(Jungle)
2020. 10. 28. 05:27
반응형
String str = "abcdef";
str의 값을 한 글자씩 조금의 딜레이를 주어 화면에 나오게 하려면
public class Test {
public static void main(String[] args) {
Runnable r = new Runnable() {
@Override
public void run() {
String str = "abcdef";
try {
for (int i = 0; i < str.length() + 1; i++) {
System.out.println(str.substring(0, i));
Thread.sleep(100);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
};
r.run();
}
}
str.length()을 사용하여 str의 길이만큼 for문을 돌려줍니다.
str.substring(0, i) - str의 0번째부터 i번째까지의 문자를 화면에 표시를 해 줍니다.
Thread.sleep(100); - 0.1초의 딜레이를 가진 후 다음 문자를 출력합니다.
아주 간단한 예제이지만 안드로이드에서 효과음까지 추가하면 간단한 타이핑 효과를 낼 수 있겠네요.
Unity C#에서 코루틴을 이용해 역시 같은 효과를 낼 수 있습니다.
IEnumerator Test() {
string str = "abcdef";
for (int i = 0; i < str.Length + 1; i++)
{
message.text = str.Substring(0, i);
yield return new WaitForSeconds(0.15f);
}
}
결과 값은
a
ab
abc
abcd
abcde
abcdef
코틀린 코드도 확인해 보세요.
import java.lang.Exception
import kotlin.jvm.JvmStatic
object Test {
@JvmStatic
fun main(args: Array<String>) {
val r = Runnable {
val str = "abcdef"
try {
for (i in 0 until str.length + 1) {
println(str.substring(0, i))
Thread.sleep(100)
}
} catch (e: Exception) {
e.printStackTrace()
}
}
r.run()
}
}
반응형