Android会在键入时自动将EditText的内容移动到下一行

时间:2013-05-24 10:37:42

标签: android

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

有没有人知道如何阻止EditText在填充文本时垂直扩展? 而是EditText应垂直滚动。 有没有办法在不修复EditText的大小的情况下制作它?

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

3 个答案:

答案 0 :(得分:14)

将它放在XML中:

使用maxHeight for 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>

答案 1 :(得分: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>

答案 2 :(得分: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
}

我希望这会奏效。