Android 打开软输入时EditText多行不展开

Android 打开软输入时EditText多行不展开,android,android-edittext,multiline,Android,Android Edittext,Multiline,关于这个问题,我已经看到了很多答案,但没有一个能解决我的问题。我的布局文件如下所示: <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.andr

关于这个问题,我已经看到了很多答案,但没有一个能解决我的问题。我的布局文件如下所示:

<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:scrollbars="vertical"
    android:background="@color/lightGrey"
    android:fitsSystemWindows="true">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/chatAppBarLayout"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:layout_alignParentTop="true">

        <android.support.v7.widget.Toolbar
            android:id="@+id/chatToolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            android:elevation="4dp"
            android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
            app:layout_scrollFlags="scroll|enterAlways" />

    </android.support.design.widget.AppBarLayout>

    <RelativeLayout
        android:id="@+id/chatScreen"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingLeft="16dp"
        android:paddingRight="16dp"
        android:paddingBottom="16dp"
        android:paddingTop="16dp"
        android:layout_marginTop="?attr/actionBarSize">

        <ListView
            android:id="@+id/chatListView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_above="@+id/sendMessageContainer"
            android:layout_marginBottom="10dp"
            android:scrollbars="none"
            android:stackFromBottom="true"
            android:transcriptMode="normal">
        </ListView>

        <RelativeLayout
            android:id="@+id/sendMessageContainer"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:minHeight="30dp"
            android:layout_alignParentBottom="true"
            android:layout_marginBottom="0dp">

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignBaseline="@+id/sendChatMessage"
                android:layout_toLeftOf="@+id/sendChatMessage"
                android:layout_alignParentLeft="true">

                <EditText
                    android:id="@+id/chatInput"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:inputType="textMultiLine"
                    android:lines="1"
                    android:maxLines="5"
                    android:scrollbars="vertical" />

            </LinearLayout>

            <android.support.design.widget.FloatingActionButton
                android:id="@+id/sendChatMessage"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginBottom="5dp"
                android:layout_marginLeft="15dp"
                android:layout_alignParentRight="true" />
        </RelativeLayout>
    </RelativeLayout>
</android.support.design.widget.CoordinatorLayout>

我希望它最初显示1行,但在输入文本时最多扩展到5行。我不明白为什么我的
EditText
没有进入多行。我有一种感觉,这是因为它被固定在某个视图上,但我无法理解。任何帮助都将不胜感激


编辑:通过上面的代码,我的
编辑文本
似乎扩展到了多行,但在打开软输入时却没有。我打开软输入,键入2行,编辑文本显示一行和垂直滚动。当我关闭软输入时,它会扩展到两行。当我再次打开软输入时,有两行。如果我输入另一行,它会显示两行滚动。如果我关闭,它将扩展到3行。当软输入打开时,它为什么不展开?

您已将行设置为1,这就是为什么它只显示一行

更改android:lines=“5”

并添加
android:minLines=“1”

是的

<EditText
    android:id="@+id/chatInput"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="textMultiLine"
    android:lines="5"
    android:minLines="1"
    android:scrollbars="vertical" />

试试这个

 android:inputType="textMultiLine"
 android:lines="5"
然后在它看起来像

     <EditText
        android:id="@+id/editTextmessage"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="15"
        android:inputType="textMultiLine"
        android:maxLines="5"
        android:scrollbars="vertical"
        android:textSize="@dimen/small_txt_size" />

试试这种方法

               <EditText
                    android:id="@+id/chatInput"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:inputType="textMultiLine"
                    android:minLines="5"
                    android:scrollbars="vertical" />

您也可以这样做:

<android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        tools:context="nasuakza.com.br.nasuakz.activities.AtvProduto">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/descricao" />
    </android.support.v4.widget.NestedScrollView>

在源代码中添加以下行

editor.setSingleLine(false);


如果希望它是多行的,为什么要指定
android:lines=“1”
?因为我希望它最初显示一行,但扩展到最多5行。从
行的文档中可以看出:使TextView正好有这么多行。()因此,在您的情况下,设置
inputType=“textMultiLine”
并设置
maxLines=“5”
并删除
行,但它最初显示5行。这很奇怪,因为我刚试过,它最初显示单行,当我开始按enter键时,它会扩展到5行,停止高度扩展,并在内部继续扩展。请参考编辑的问题,我希望最初只有一行,但最多扩展到5行。同样的问题。一行开始不会扩展。好的,对不起,这似乎是一个完全不同的问题。请参考更新的问题。删除android:fitsystemwindows=“true”请参考编辑问题,我希望最初只有一行,但最多可以扩展到5行。你是说自动扩展行???@VedavyasBhat新的更新答案非常适合我。尽量提高包装的高度。内容可能是它的问题。好的,对不起,这似乎是一个完全不同的问题。请参阅更新的问题。请参阅编辑问题,我希望最初只有一行,但最多扩展到5行。删除
android:lines=1
会导致最初有5行。@VedavyasBhat:更新了我的答案。很抱歉,这似乎是一个完全不同的问题。请参考更新的问题。这似乎是一个完全不同的问题。请参阅更新的问题。