TableViewsのExpandableListを使用して、片側に行番号を持つテキストブロックを表示しています。最初に、特定の段落の文字列が、TableViewの右の列のテキストビューに設定されます。次に、行番号文字列が段落文字列と開始行番号から生成されます。TextViewが行を折り返すかどうかを検出する
Lorem ipsum dolor sit amet,
consectetur adipiscing elit.
Donec ultricies a nunc sit amet venenatis.
Aenean placerat dictum nunc,
nec pulvinar arcu consequat a.
Proin dignissim velit ut augue dictum ultricies.
Fusce lorem dolor, elementum id tempor at,
pellentesque eu dolor. Vestibulum rhoncus
arcu in sapien sagittis gravida.
Nullam vel nisl enim.
Maecenas scelerisque at quam non congue.
Nullam quis porttitor purus, nec interdum tellus.
次の行の数字列が生成される:この文字列は、次にテーブルビューの左端の列に配置され
\n\n\n\n5.\n\n\n\n\n10.\n\n
例えば、文字列から(1の開始行番号付き)文字列の行番号を5行ごとに表示します。
ただし、テキストの行が折り返されている箇所まで文字サイズが上がると(行が画面に収まらないため)、問題が発生します。これが起こると、ラップされたテキストの潜在的に複数の行を1行として数えるために、テキストラッピングのサイトの行番号文字列に別の\ nを挿入する必要があるようです。したがって、アンドロイドは、行がTextViewに折り返されているかどうかを検出するので、行番号文字列に\ nを挿入して改行を補うことができるようになりますか?
textViewのgetWidth()メソッドを使用しようとすると、関数は1300を返し、関数はテキストの200〜300の範囲の値を返します。まだラインはまだラップしています。なぜこれが分かっていますか? – Paradoxian