Как сделать эффект печатающегося текста продолжение?
Я делаю программу в виде новеллы на Android Studio для проекта. Не могу реализовать эффект печатающегося текста в компоненте Text.
В компонент Text добавляются буквы через 0.5 секунд.
Весь проект делается на compose.
Ответы (1 шт):
Автор решения: Style-7
→ Ссылка
Ориентировочный пример на Java, но полагаю, что вы без труда переделаеnе его на Kotlin, удачи.
final TextView tv = findViewById( R.id.tv );
final int delay_ms = 250;
tv.setTag( "Надеюсь мой ответ поможет в вашем проекте!" );
tv.postDelayed( new Runnable(){
@Override
public void run(){
String text = tv.getText().toString();
String text_tag = (String)tv.getTag();
if( text.length() < text_tag.length() ){
tv.setText( text+ text_tag.substring( text.length(), text.length()+1 ) );
tv.postDelayed( this, delay_ms );
}
}
}, delay_ms );
Разметка:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="24sp"
android:id="@+id/tv"/>
</LinearLayout>
