Android 为什么在键入换行符时EditText会不断向上移动窗口

Android 为什么在键入换行符时EditText会不断向上移动窗口,android,android-edittext,Android,Android Edittext,我有一个EditText,它使活动窗口体验“上升”:( 我不知道如何正确嵌入视频,它在 它允许最多5行的多行高度。如果文本开始时少于5行,当您点击文本并开始添加行时,窗口会随着每行向上移动。不仅仅是前5行。它会随着每一行继续移动。它甚至会将编辑文本从屏幕上向上移动(未在视频中显示) 正如你可能猜到的,它在网格布局中 <GridLayout android:layout_width="match_parent" android:layout_heigh

我有一个EditText,它使活动窗口体验“上升”:(

我不知道如何正确嵌入视频,它在

它允许最多5行的多行高度。如果文本开始时少于5行,当您点击文本并开始添加行时,窗口会随着每行向上移动。不仅仅是前5行。它会随着每一行继续移动。它甚至会将编辑文本从屏幕上向上移动(未在视频中显示)


正如你可能猜到的,它在网格布局中

<GridLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_marginBottom="10dp"
         android:paddingTop="10dp"
         android:paddingBottom="30dp"
         android:columnCount="@integer/edit_profile_columns"
         android:useDefaultMargins="false"
         android:alignmentMode="alignBounds"
         android:theme="@style/EditProfileOverlay"
         android:focusable="true"
         android:focusableInTouchMode="true"
         >

我在这里报告:


在较简单的情况下,在打开键盘之前,无论视图位于何处,都会发生上升。

您在网格布局上设置了多少列?如果您希望edittext全宽,则应为其指定一个等于网格布局中存在的列数的列跨度。此外,如果您可以使用设置中的布局边界被激活,我可能会告诉你出了什么问题。只需转到“设置”、“开发人员选项”并激活“显示布局边界”。你可以通过使用
maxHeight
@JavierVentajasHernández对第一条评论进行某种程度的修改,你可以看到
layou列span
列就是这种情况计数
attributes目前,如果我删除
maxLines=“5”
,那么这个问题可以接受,可以说是正确的。看起来窗口平移逻辑没有考虑视图的maxLines。还有一个问题是必须支持带有maxLines的嵌套滚动,所以现在我将使用这个解决方法
<GridLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_marginBottom="10dp"
         android:paddingTop="10dp"
         android:paddingBottom="30dp"
         android:columnCount="@integer/edit_profile_columns"
         android:useDefaultMargins="false"
         android:alignmentMode="alignBounds"
         android:theme="@style/EditProfileOverlay"
         android:focusable="true"
         android:focusableInTouchMode="true"
         >