EditText一直以单行Android

时间:2017-06-17 00:05:12

标签: android android-edittext

我知道之前已经问过这个问题,我尝试了几个答案,但没有一个有效。我有一个EditText,用户可以在其中给出图片的标题。 editText继续将文本写入一行。它没有进入下一行。我希望文本在到达屏幕的边框/结尾时自动转到下一行。这是我的代码。如果我在代码中犯了任何错误,请告诉我。

<EditText
                android:layout_marginTop="8dp"
                android:layout_width="match_parent"
                android:layout_height="80dp"
                android:gravity="start"
                android:inputType="textMultiLine|textPersonName"
                android:hint="Write some thing about the photo"
                android:maxLength="160"
                android:paddingLeft="8dp"
                android:textSize="14sp"
                android:layout_below="@+id/privacyHolder"
                android:lines="3"
                android:layout_alignParentEnd="true"
                android:ems="20"
                android:paddingEnd="4dp"
                android:maxLines="3"
                android:layout_marginEnd="4dp"
                android:layout_marginStart="4dp"
                android:paddingTop="4dp"
                android:background="@drawable/roundedbutton"
                android:id="@+id/description"
                />

1 个答案:

答案 0 :(得分:0)

在资源中,按如下方式设计编辑文本:

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="text|textMultiLine|textCapSentences"
    android:gravity="left"
     /> 

在活动中,您可以使用TextWatcher在文字超过少数字符时收听并自动向下移动。

以下是摘录:

private boolean isReach = false;

// put this in onCreate method
edittext.addTextChangedListener(new TextWatcher(){
    @Override
    public void afterTextChanged(Editable s) {
        // if edittext has 20 character reached add a new line, you can use either 20 or more here
        if(yourtextEd.getText().length() == 20 && !isReach) {
            yourtextEd.append("\n");
            isReach = true;
        }
        // if edittext has less than 20 characters and isReach has set , change
        if(yourtextEd.getText().length() < 20 && isReach) isReach = false;
    }
}); 

希望这会对你有所帮助。