私の Android アプリケーションでは、長い文字列を複数のページに表示しています。これを実現するには、長い文字列を文字列配列に分割します。各配列要素は、1 つの画面 (スクロールせずに) に収まる文字数を保持します。また、アクティビティの下部にある前/次のボタンを使用して、テキストビューのコンテンツを変更してページ (配列要素) を切り替えます。
私が立ち往生しているのは、1つのページ/画面に表示される文字の数を見つけることです. ユーザーにスクロールさせたくないことを覚えておいてください。paint.breaktext
withをパラメーターとして使用しscreenwidth
、1 行に何文字入るかを調べ、それを 1 画面の行数で乗算して、1 ページの文字数を取得します。各行の最後にある Android のテキスト ラッピングは、ページ内の文字を見つける計算を間違ったものにします。テキストの折り返しに対応するために独自のロジックを配置しようとしていますが、うまくいきません。
だから私の質問は:
- 1 画面に表示される文字数を調べる方法はありますか?
- または、改行のテキストをラップするためにアンドロイドが従うロジックを見つければ、私を助けることもできます。それがわかれば、それに応じてページの文字数を再調整できるからです。
- または、他のオプションとして、テキストの折り返しを無効にすることもできます (可能かどうかはわかりません)。そうすれば、Android のテキスト ラッピング ロジックを理解しようとして、それに応じてページ上の文字を調整するのではなく、独自のロジックを使用してテキストをラップできるからです。
どんな助けでも大歓迎です。