在特定行之后使编辑文本可滚动

Posted

技术标签:

【中文标题】在特定行之后使编辑文本可滚动【英文标题】:Make Edit text scrollable after specific lines 【发布时间】:2021-11-24 19:27:06 【问题描述】:

我正在设计聊天 UI。我的要求是在 Whatsapp 中发生 6 行后使编辑文本可滚动。

这是我的代码

 <androidx.constraintlayout.widget.ConstraintLayout
        android:id="@+id/downLayout"
        android:layout_
        android:layout_
        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_
            android:layout_
            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_
            android:layout_
            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_
            android:layout_
            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>

目标是创建类似于 WhatsApp 的 UI。一旦用户进入下一行,edittext 就会展开,并且在 6 行之后edittext 变得可滚动。

【问题讨论】:

你试过android:maxLine="6" 吗? 【参考方案1】:

添加以下行

android:scrollbars="vertical"
android:maxLines="6"
android:inputType="textMultiLine"

【讨论】:

成功了。谢谢。

以上是关于在特定行之后使编辑文本可滚动的主要内容,如果未能解决你的问题,请参考以下文章

编辑文本字段时偏移滚动视图?

在 Python 中编辑文本文件中的特定行

有没有办法使文本区域部分可编辑? (仅使部分文本可编辑)

在颤动中使文本的特定部分可点击[重复]

当键盘可见时如何使 UITextView 一直滚动到底部

在特定文本值 SQL Server 之后选择行