使编辑文本在特定行后可滚动
Make Edit text scrollable after specific lines
我正在设计聊天UI。我的要求是让编辑文本在 6 行之后可滚动,就像在 Whatsapp 中发生的那样。
这是我的代码
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/downLayout"
android:layout_width="0dp"
android:layout_height="@dimen/_40sdp"
android:layout_marginStart="@dimen/_20sdp"
android:layout_marginEnd="@dimen/_20sdp"
android:layout_marginBottom="@dimen/_10sdp"
android:background="@drawable/layout_background"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent">
<EditText
android:id="@+id/etTypeMessage"
style="@style/noteText.Black"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="@dimen/_16sdp"
android:background="@null"
android:hint="Type a message"
android:scrollbars="vertical"
android:textColorHint="@color/black"
android:textColorHighlight="@color/duck_egg_blue"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/ivAttachments"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
/>
<ImageView
android:id="@+id/ivSend"
android:layout_width="22dp"
android:layout_height="22dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
android:src="@drawable/ic_send"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/ivAttachments"
android:layout_width="22dp"
android:layout_height="22dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
android:src="@drawable/ic_attachment"
app:layout_constraintBottom_toBottomOf="@+id/ivSend"
app:layout_constraintEnd_toStartOf="@+id/ivSend"
app:layout_constraintTop_toTopOf="@+id/ivSend" />
</androidx.constraintlayout.widget.ConstraintLayout>
目标是创建 UI 像 WhatsApp。一旦用户输入到下一行,edittext 就会展开,6 行后 edittext 就可以滚动了。
添加以下行
android:scrollbars="vertical"
android:maxLines="6"
android:inputType="textMultiLine"
我正在设计聊天UI。我的要求是让编辑文本在 6 行之后可滚动,就像在 Whatsapp 中发生的那样。
这是我的代码
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/downLayout"
android:layout_width="0dp"
android:layout_height="@dimen/_40sdp"
android:layout_marginStart="@dimen/_20sdp"
android:layout_marginEnd="@dimen/_20sdp"
android:layout_marginBottom="@dimen/_10sdp"
android:background="@drawable/layout_background"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent">
<EditText
android:id="@+id/etTypeMessage"
style="@style/noteText.Black"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="@dimen/_16sdp"
android:background="@null"
android:hint="Type a message"
android:scrollbars="vertical"
android:textColorHint="@color/black"
android:textColorHighlight="@color/duck_egg_blue"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/ivAttachments"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
/>
<ImageView
android:id="@+id/ivSend"
android:layout_width="22dp"
android:layout_height="22dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
android:src="@drawable/ic_send"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/ivAttachments"
android:layout_width="22dp"
android:layout_height="22dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
android:src="@drawable/ic_attachment"
app:layout_constraintBottom_toBottomOf="@+id/ivSend"
app:layout_constraintEnd_toStartOf="@+id/ivSend"
app:layout_constraintTop_toTopOf="@+id/ivSend" />
</androidx.constraintlayout.widget.ConstraintLayout>
目标是创建 UI 像 WhatsApp。一旦用户输入到下一行,edittext 就会展开,6 行后 edittext 就可以滚动了。
添加以下行
android:scrollbars="vertical"
android:maxLines="6"
android:inputType="textMultiLine"