Androidアプリ開発でTextViewに長文を入力すると、表示が切れてしまったり勝手に改行されたりしてしまうので、TextViewの表示を適切にする為のメモ。
TextViewを1行に収める方法
TextViewに入力した文字列が長文な場合、TextViewのサイズに収まりきらないと表示が切れてしまう場合があります。
下記のようにTextViewを設定すれば、収まらない場合末尾のテキストを「...」で表現してくれるので表示が崩れにくいです。
例)あいうえおか....
<TextView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/description" android:textSize="15sp" android:gravity="center|left" android:singleLine="true" android:scrollHorizontally="true" android:ellipsize="end"/>
TextViewサイズに合わせてフォントを自動調節する
上記の方法なら表示崩れは防げますが、全ての文字を表示できない点が問題点があります。
TextViewに全てのテキストを表示させたい場合は、下記の「ResizeTextView」がおすすめです。
「ResizeTextView」はTextViewの縦横幅に合わせてフォントサイズを自動調整してくれるので、全てのテキストを表示できます。
ただ、こちらの場合だと、無理やりテキストをTextViewに収めるので、TextViewのサイズやテキストの文字数によってはフォントサイズがかなり小さくなるという点があるので注意が必要です。