diff --git a/app/src/main/java/com/xuqinmin/android/app/ui/ChatActivity.kt b/app/src/main/java/com/xuqinmin/android/app/ui/ChatActivity.kt index d6ce76c..c945c91 100644 --- a/app/src/main/java/com/xuqinmin/android/app/ui/ChatActivity.kt +++ b/app/src/main/java/com/xuqinmin/android/app/ui/ChatActivity.kt @@ -8,6 +8,7 @@ import android.widget.ImageView import android.widget.LinearLayout import android.widget.TextView import androidx.activity.viewModels +import androidx.constraintlayout.widget.ConstraintLayout import com.gyf.immersionbar.BarHide import com.gyf.immersionbar.ImmersionBar import com.luck.picture.lib.basic.PictureSelector @@ -203,20 +204,21 @@ class ChatActivity : BaseActivity() { window.decorView.viewTreeObserver.addOnGlobalLayoutListener { val r = Rect() - window.decorView.getWindowVisibleDisplayFrame(r); - val screenHeight = window.decorView.rootView.height; - val keypadHeight = screenHeight - r.bottom; + window.decorView.getWindowVisibleDisplayFrame(r) + val screenHeight = window.decorView.rootView.height + val keypadHeight = screenHeight - r.bottom if (keypadHeight > screenHeight * 0.15) { // 输入法弹出 - val params = binding.bto.layoutParams as LinearLayout.LayoutParams - params.height = keypadHeight; - binding.bto.layoutParams = params + val params = binding.view.layoutParams as ConstraintLayout.LayoutParams + params.height = keypadHeight + binding.view.layoutParams = params + binding.baseRecyclerView.scrollToPosition(listMsg.size - 1) } else { // 输入法隐藏 - val params = binding.bto.layoutParams as LinearLayout.LayoutParams - params.height = 0; - binding.bto.layoutParams = params + val params = binding.view.layoutParams as ConstraintLayout.LayoutParams + params.height = 1 + binding.view.layoutParams = params } } } diff --git a/app/src/main/res/layout/activity_chat.xml b/app/src/main/res/layout/activity_chat.xml index 1d473f7..4dba6da 100644 --- a/app/src/main/res/layout/activity_chat.xml +++ b/app/src/main/res/layout/activity_chat.xml @@ -1,9 +1,9 @@ + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools"> - @@ -72,9 +72,9 @@ + android:layout_height="wrap_content" + android:visibility="visible" + app:layout_constraintTop_toBottomOf="@+id/top"> + android:visibility="gone" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/top"> - + android:layout_height="1dp" + android:visibility="visible" + android:background="@color/white" + app:layout_constraintBottom_toBottomOf="parent" /> - - + android:background="@color/white" + android:paddingVertical="16dp" + app:layout_constraintBottom_toTopOf="@+id/view"> - + android:layout_height="0dp" + android:layout_marginTop="3dp" + android:visibility="gone" + app:layout_constraintBottom_toTopOf="@+id/toolbar" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/chat_top"> + + - + \ No newline at end of file