ページ分割では、画面上に表示するためにテキストを小さく管理しやすいページに分割します。このプロセスは、特に長い形式のコンテンツの場合、ユーザー エクスペリエンスを向上させるために不可欠です。 Android のコア テキスト レンダリング コンポーネントである TextView は、改行を効率的に処理しますが、改ページには苦労します。
TextView の主な課題は、オンラインで直接フィードバックを提供できないことです。壊れてしまうため、実際のテキスト描画が画面上のどこで終わるのかを判断することが困難になります。この情報は、後続のページでページネーションを続行するために重要です。
提案されたソリューションでは、ViewTreeObserver を活用して、テキスト レイアウトの完了後に表示テキストを取得します。 TextView 内の firstVisibleLineNumber と lastVisibleLineNumber を識別することにより、アルゴリズムは現在のページに表示されるテキストを決定できます。テキスト行を繰り返し処理します。
実装
Pagination クラスは、ページネーション アルゴリズムを実装し、レイアウト、ページ取得、サイズ決定のメソッドを公開します。 。テキスト処理ロジックとパラメータをカプセル化し、TextView から独立して使用できるようにします。
最適化
サンプル実装
以上がAndroid で長文テキストのページネーションを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。