【发布时间】:2016-05-29 02:49:16
【问题描述】:
我已经看到很多关于这个主题的答案,但没有一个能解决我的问题。我的布局文件如下所示:
<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 没有进入多行。我有一种感觉,这是因为它被固定在某个视图上,但我无法弄清楚。任何帮助将不胜感激。
编辑:所以看起来上面的代码,我的EditText 扩展为多行,但不是在软输入打开时。我打开软输入,输入 2 行,EditText 显示一行垂直滚动。当我关闭软输入时,它会扩展为 2 行。当我再次打开软输入时,有 2 行。如果我输入另一行,它会显示 2 行滚动。如果我关闭,它会扩展到 3 行。为什么打开软输入时不展开?
【问题讨论】:
-
如果你想让
android:lines="1"是多行的,为什么还要指定它? -
因为我希望它最初显示一行,但最多扩展到 5 行。
-
来自
lines的文档:使 TextView 正好有这么多行。 (developer.android.com/intl/in/reference/android/widget/…) 所以在你的情况下,设置inputType="textMultiLine"并设置@ 987654328@ 并删除lines。 -
我试过这个,但它最初显示 5 行。
-
这很奇怪,因为我刚刚尝试过,它最初显示单行,当我开始按 Enter 键时,它会扩展至 5 行并停止高度扩展并继续在内部扩展。
标签: android android-edittext multiline