Как сделать эффект печатающегося текста продолжение?

Я делаю программу в виде новеллы на 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>

введите сюда описание изображения

→ Ссылка