【Kotlin/Android】TextViewの行数を制限する方法!文字のライン制御
この記事からわかること
- Android Studio/KotlinでTextViewの行数を制御方法
- singleLine属性やmaxLines、ellipsizeの使い方
index
[open]
\ アプリをリリースしました /
友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-
posted withアプリーチ
環境
- Android Studio:Flamingo
- Kotlin:1.8.20
TextViewに行数制限を設ける方法
TextView
などで表示している文字の行数(ライン数)を制限するためにはsingleLine
属性やmaxLines
属性を使用します。
singleLine属性
singleLine
属性はtrue
を渡すことで表示するテキストを1行に制限することができます。
<TextView
android:id="@+id/text_view"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
maxLines属性
maxLines
属性は制限したい行数を渡すことで表示するテキストを指定した行数に制限することができます。
<TextView
android:id="@+id/text_view"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:maxLines="2"
android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
末尾を省略文字にする:ellipsize
文字が指定した行数を超過している場合の末尾を省略記号で表示するにはellipsize
属性にend
を渡します。
<TextView
android:id="@+id/text_view"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="5"
android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。