最近再次集成融云的时候,又遇到聊天界面bug。很是困惑啊。
今天终于找到了解决方案。
首先得了解出现这个问题的原因:
1、整体项目使用了沉浸式。
2、项目主题设置了全屏。
我们先来看下当项目设置了沉浸式之后 的时候的效果:
当键盘弹出时,输入框一直停留在界面底部,没有被弹上来。
针对这种解决方案是:在聊天界面 conversation.xml 界面 根布局中添加
android:fitsSystemWindows="true"
当项目主题设置了全屏之后:
当键盘弹出时,整体布局被上移。
针对这种解决方案是:在聊天界面 conversation.xml 界面 根布局中添加
<!-- 会话界面 --> <activity android:name=".activities.ConversationActivity" android:windowSoftInputMode="stateHidden|adjustResize" android:theme="@style/Theme.AppCompat.NoActionBar" android:screenOrientation="portrait"> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <data android:host="com.yilagu.app.p1.android" android:pathPrefix="/conversation/" android:scheme="rong" /> </intent-filter> </activity>
在官方的文档 上面在添加一个 theme。
如果是正常的集成融云,项目中没有使用沉浸式,也没有设置全屏的时候,聊天界面是正常的,上面两种情况都不会发生。