8

我需要我的 EditText 组件在到达行尾时将文本移动到下一行。

有谁知道如何防止 EditText 在填充文本时垂直扩展?相反,EditText 应该垂直滚动。有没有办法在不固定 EditText 大小的情况下做到这一点?

我在网上搜索了相关信息,但没有找到答案。

4

3 回答 3

17

把它放在 XML 中:

使用 maxHeight 解决 EditText 垂直扩展问题,使用 android:inputType="textMultiLine" 将文本转移到下一行。

               <EditText
                android:id="@+id/edit_text"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:maxHeight="140dp"
                android:scrollbars="vertical"
                android:inputType="textMultiLine"
                >
               </EditText>
于 2013-05-24T10:40:54.337 回答
2
<EditText
        android:id="@+id/DwEdit"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="9"
        android:ems="10"
        android:gravity="top"
        android:imeOptions="flagNoExtractUi"

        android:minLines="10"
        android:scrollHorizontally="false"
        android:scrollbarAlwaysDrawVerticalTrack="true"
        android:scrollbarStyle="insideInset"
        android:scrollbars="vertical" 
        android:overScrollMode="always"
        android:inputType="textCapSentences">
        </EditText>
于 2013-05-24T10:55:35.850 回答
0

只需在您的代码中使用以下更改。

在 xml 中:

 <EditText
    android:id="@+id/editText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="top|start"
    android:lines="5"
    android:minLines="5"
    android:maxLines="6"
    android:singleLine="true" />

或以编程方式

 editText.apply {
      gravity = Gravity.TOP or Gravity.START
      setLines(5)
      minLines = 5
      maxLines = 6
      isSingleLine = false
}

我希望这会奏效。

于 2021-04-19T14:56:25.877 回答