78

这是我的布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <EditText
        android:id="@+id/etTweetReview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dp"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:ems="10"
        android:hint="Discuss up to 140 characters"
        android:imeOptions="actionDone"
        android:inputType="textCapSentences"
        android:lines="2"
        android:maxLength="140"
        android:paddingBottom="10dp"
        android:singleLine="false" />

    <Button
        android:id="@+id/theReviewBarButton"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginBottom="5dp"
        android:text="Submit Review"
        android:textSize="22sp" />

    <Spinner
        android:id="@+id/spinnerSort"
        android:layout_width="120dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp" />

    <ListView
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/android:list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginLeft="5dp"
        android:scrollbars="none"
        android:layout_marginRight="5dp"
        android:layout_marginTop="8dp" >
    </ListView>

</LinearLayout>

当那个 EditText 框结束时,我希望它换行到下一行。现在,它只是继续向右移动所有离开屏幕的东西。

4

6 回答 6

155

类似于另一个问题:

Android Word-Wrap EditText 文本

下面是一些示例 XML 代码:

<EditText
    android:id="@+id/edtInput"
    android:layout_width="0dip"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:hint="@string/compose_hint"
    android:inputType="textCapSentences|textMultiLine"
    android:maxLength="2000"
    android:maxLines="4" />
于 2012-09-21T20:36:59.320 回答
41

假设您一开始只想拥有一行,然后将其扩展为 5 行,并且您希望最多拥有 10 行。

<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/etMessageBox"
    android:layout_alignParentLeft="true"
    android:layout_centerVertical="true"
    android:autoLink="all"
    android:hint="@string/message_edit_text_hint"
    android:lines="5"
    android:minLines="1"
    android:gravity="top|left"
    android:maxLines="10"
    android:scrollbars="none"
    android:inputType="textMultiLine|textCapSentences"/>

通过增加android:lines,您可以定义扩展它的行数。

于 2013-05-21T05:04:40.523 回答
11

只需将 android:lines="6" 添加到您的编辑文本中

 <Edittext
      android:id="@+id/edt_address"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:inputType="textMultiLine"
      android:maxLines="6"             
      android:lines="6"
      android:layout_marginTop="@dimen/activity_vertical_margin"
      android:gravity="left"/>
于 2017-06-13T05:55:30.797 回答
4

试试这个代码

<EditText
    android:id="@+id/"edittext01"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:inputType="textCapSentences|textMultiLine"
    android:maxLength="100"
    android:maxLines="10"/>
于 2016-07-25T06:07:40.550 回答
4

您需要将EditText身高设置为android:layout_height="wrap_content"

&

android:lines="5"

这对我来说是个窍门ConstraintLayout

于 2017-10-15T06:49:04.427 回答
0

从您的 EditText 中删除此行

android:inputType="textCapSentences"

并将此行添加到您需要的行数

android:lines="2"

希望这可以帮助你

于 2017-03-24T07:04:03.803 回答