当键盘出现时,Android工具栏会向上移动

我正在创建一个基于聊天的UI屏幕,其中我有聊天消息的工具栏和recyclelerview,并回复msg布局。

每当edittext获得焦点时它会向上移动工具栏。 相反,我想调整recyclerview的大小。

一些stackoverflow答案建议在工具栏下方放置一个空的滚动视图 ,但它不起作用。

  

我将windowSoftInputMode设置为清单文件中的stateVisible|adjustPan

             

在此处输入图像描述

问题是我在styles.xml使用true

要启用adjustResize ,请在活动的父布局中添加android:fitsSystemWindows="true"

或者在清单中添加此行。 android:windowSoftInputMode="adjustResize"

如果您不希望推高Toolbar ,则不应使用adjustPan 。 使用adjustResize而不添加任何其他内容(不添加任何其他Views )就足够了。

  

您应该在工具栏的根布局中添加android:fitsSystemWindows =“true”。 如果将其添加到活动的父布局中,工具栏上方将显示一条奇怪的行(状态栏高度)。

就我而言,我的默认应用程序使用了根元素的协调器布局。 即使做上面描述的事情也没有解决我的问题。 然后我做了以下事情:

  1. 将根布局从Coordinator Layout更改为RelativeLayout
  2. 包含android:fitsSystemWindows="true"到根布局
  3. 包含android:windowSoftInputMode="adjustResize|stateAlwaysHidden"到活动清单标签。

尝试这个,

 android:windowSoftInputMode="adjustPan" 

在活动代码的manifest.xml中。

使用android:windowSoftInputMode="adjustNothing"对清单中的活动起作用了。

请检查Android Manifest中的WindowsSoftInputMode尝试设置AdjustResize或AdjsutPan

我使用CoordinatorLayout作为工具栏的根布局。 我有同样的问题,但通过将工具栏设置为:

 app:layout_scrollFlags="enterAlways" 

代替:

 app:layout_scrollFlags="scroll|enterAlways" 

并添加:

 android:windowSoftInputMode="adjustNothing" 

在清单中的活动中。

我尝试了很多方法来保持工具栏的固定,而不是通过androidresize或压缩布局:windowSoftInputMode =“adjustResize”,这不是一个合适的。

这只能通过协调员布局来实现,

          

保持结构为

  Coordinator layout |-->Toolbar (android:id="@+id/toolbar") |-->ScrollView (android:layout_below="@id/toolbar") |-->Child |-->Child |-->Child