率直に言って、これに完全に答えるには十分な情報がありませんが、これは私がすることです:
スクロール機能がまったく必要ないため(実際にユーザーがスクロールできるようにするのではなく、スクロールしているように見せたい)、複雑なビューは使用しませんListView や ScrollView のように、View を拡張するだけのカスタム ビューを作成します。その onDraw() メソッドをオーバーライドし、Canvas.drawText(...) を使用して単語を描画し、現在の単語用と他のすべての単語用の 2 つの異なるペイントを使用します。「スクロール」効果については、現在表示されている一番上の行を表す数値を保持し、次の行にスクロールしたいときにこの数値に 1 を追加することができます。ただし、スムーズにするために、テキストの描画を開始する正確な場所を操作し、ゆっくりと上に移動して、すべてが下にスクロールしているように見せることができます。
** ここでは単に View ではなく SurfaceView を使用する方が良いでしょう。特に、背景画像と滑らかなブレンドと見栄えが必要な場合は、SurfaceView が複雑な図面に適しているためです **
それが複雑すぎて、自分で描画を行わずに既存のビューを完全に使用したい場合は、垂直 ScrollView をお勧めします。ScrollView を行ごとに水平 LinearLayouts で埋め、それぞれに TextViews を入力します。すべての特定の単語。TextViews と LinearLayouts をプログラムで構築できます。ScrollView の scrollTo(...) または SmoothScrollTo(...) を使用して、正しい位置までスクロールします。スクロールに使用される前にすべてのモーション イベントをキャプチャすることで、ユーザーがスクロールできないようにすることができます。
もちろん、どちらのアプローチでも、各単語が選択された時間を保持するために何らかの形式のデータ構造を維持する必要があります。