Ver Fonte

1.修改IM聊天页面UI

王鹏鹏 há 2 anos atrás
pai
commit
d62f013791

+ 1 - 0
.idea/misc.xml

@@ -290,6 +290,7 @@
         <entry key="..\:/workspace/hcp-pad/tuichat/src/main/res/drawable/my_cursor.xml" value="0.155" />
         <entry key="..\:/workspace/hcp-pad/tuichat/src/main/res/drawable/voice_btn_selector.xml" value="0.158" />
         <entry key="..\:/workspace/hcp-pad/tuichat/src/main/res/layout/activity_camera.xml" value="0.23697916666666666" />
+        <entry key="..\:/workspace/hcp-pad/tuichat/src/main/res/layout/chat_activity.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pad/tuichat/src/main/res/layout/chat_fragment.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pad/tuichat/src/main/res/layout/chat_input_camera_view.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pad/tuichat/src/main/res/layout/chat_input_layout.xml" value="0.23697916666666666" />

+ 2 - 4
config.gradle

@@ -70,11 +70,9 @@ ext {
 
             // https://github.com/gyf-dev/ImmersionBar android 4.4以上沉浸式状态栏和沉浸式导航栏管理,适配横竖屏切换、刘海屏、软键盘弹出等问题,可以修改状态栏字体颜色和导航栏图标颜色,以及不可修改字体颜色手机的适配,适用于Activity、Fragment、Dia
             // 基础依赖包,必须要依赖
-            "immersionbar"             : "com.gyf.immersionbar:immersionbar:3.0.0",
-            // fragment快速实现(可选)
-            "immersionbar_components"  : "com.gyf.immersionbar:immersionbar-components:3.0.0",
+            "immersionbar"             : "com.geyifeng.immersionbar:immersionbar:3.2.2",
             // kotlin扩展(可选)
-            "immersionbar_ktx"         : "com.gyf.immersionbar:immersionbar-ktx:3.0.0",
+            "immersionbar_ktx"         : "com.geyifeng.immersionbar:immersionbar-ktx:3.2.2",
 
             // Logger : https://github.com/orhanobut/logger
             "logger"                   : "com.orhanobut:logger:2.2.0",

+ 1 - 0
tuichat/build.gradle

@@ -48,6 +48,7 @@ dependencies {
     api(rootProject.ext.androidx.material)
     api(rootProject.ext.dependencies.glide)
     api(rootProject.ext.dependencies.converter_gson)
+    api(rootProject.ext.dependencies.immersionbar)
     implementation 'androidx.viewpager2:viewpager2:1.0.0'
     implementation 'androidx.datastore:datastore-preferences:1.0.0'
     implementation 'androidx.datastore:datastore-preferences-rxjava3:1.0.0'

+ 11 - 0
tuichat/src/main/java/com/tencent/qcloud/tuikit/tuichat/classicui/page/TUIC2CChatActivity.java

@@ -1,6 +1,11 @@
 package com.tencent.qcloud.tuikit.tuichat.classicui.page;
 
 import android.os.Bundle;
+import android.view.WindowManager;
+
+import com.gyf.immersionbar.BarHide;
+import com.gyf.immersionbar.ImmersionBar;
+import com.gyf.immersionbar.OnKeyboardListener;
 import com.tencent.qcloud.tuicore.util.ToastUtil;
 import com.tencent.qcloud.tuikit.tuichat.R;
 import com.tencent.qcloud.tuikit.tuichat.TUIChatConstants;
@@ -17,6 +22,12 @@ public class TUIC2CChatActivity extends TUIBaseChatActivity {
 
     @Override
     public void initChat(ChatInfo chatInfo) {
+        ImmersionBar.with(this)
+                .hideBar(BarHide.FLAG_HIDE_BAR)
+                .keyboardEnable(true)
+                .keyboardMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE)
+                .init();  //必须调用方可应用以上所配置的参数
+
         TUIChatLog.i(TAG, "inti chat " + chatInfo);
 
         if (!TUIChatUtils.isC2CChat(chatInfo.getType())) {

+ 1 - 0
tuichat/src/main/res/layout/chat_input_layout.xml

@@ -34,6 +34,7 @@
             android:layout_height="@dimen/divider_60px"
             android:layout_margin="@dimen/divider_15px"
             android:layout_weight="1"
+            android:imeOptions="flagNoExtractUi"
             android:background="@drawable/msg_editor_border"
             android:paddingStart="@dimen/divider_15px"
             android:textCursorDrawable="@drawable/my_cursor"