diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index e931b82..7f2abe8 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -43,7 +43,7 @@
() {
bindUi(R.layout.activity_chat)
ImmersionBar.with(this).statusBarDarkFont(true)
.hideBar(BarHide.FLAG_HIDE_NAVIGATION_BAR).init()
+ window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE)
}
override fun initView(savedInstanceState: Bundle?) {
@@ -188,8 +191,34 @@ class ChatActivity : BaseActivity() {
}
binding.tags.adapter = adapter1
binding.tags2.adapter = adapter1
- binding.tags.linearLayoutManagerForHorizontal(mContext,0)
- binding.tags2.linearLayoutManagerForHorizontal(mContext,0)
+ binding.tags.linearLayoutManagerForHorizontal(mContext, 0)
+ binding.tags2.linearLayoutManagerForHorizontal(mContext, 0)
+
+// binding.text.onFocusChangeListener =
+// OnFocusChangeListener { _, hasFocus ->
+// if (hasFocus) {
+// window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE)
+// }
+// }
+
+ window.decorView.viewTreeObserver.addOnGlobalLayoutListener {
+ val r = Rect()
+ 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
+ } else {
+ // 输入法隐藏
+ val params = binding.bto.layoutParams as LinearLayout.LayoutParams
+ params.height = 0;
+ binding.bto.layoutParams = params
+ }
+ }
}
private fun changeView() {
@@ -203,7 +232,7 @@ class ChatActivity : BaseActivity() {
binding.empty.gone()
}
putInt(MSG_COUNT + "_" + toUser?.userId, 0)//消息全部已读
- if (intent?.getBooleanExtra("isSys", false) == true){
+ if (intent?.getBooleanExtra("isSys", false) == true) {
binding.empty.gone()
binding.startVideo2.gone()
binding.msgStartVideo.gone()
@@ -253,12 +282,12 @@ class ChatActivity : BaseActivity() {
binding.country.text = CountryHelper.getCountryName(toUser?.country)
ImageHelper.load(binding.gender, GenderHelper.getImage(toUser?.gender ?: 1))
- ImageHelper.load(binding.avatar,toUser?.avatar)
- ImageHelper.load(binding.avatar3,toUser?.avatar)
- val color = when(toUser?.online){
- 0 -> Color.parseColor("#FFB9BECC")
- 1 -> Color.parseColor("#FF26D526")
- else -> Color.parseColor("#FFEA2D2D")
+ ImageHelper.load(binding.avatar, toUser?.avatar)
+ ImageHelper.load(binding.avatar3, toUser?.avatar)
+ val color = when (toUser?.online) {
+ 0 -> Color.parseColor("#FFB9BECC")
+ 1 -> Color.parseColor("#FF26D526")
+ else -> Color.parseColor("#FFEA2D2D")
}
diff --git a/app/src/main/res/layout/activity_chat.xml b/app/src/main/res/layout/activity_chat.xml
index 8db6f2f..1d473f7 100644
--- a/app/src/main/res/layout/activity_chat.xml
+++ b/app/src/main/res/layout/activity_chat.xml
@@ -2,7 +2,8 @@
-
@@ -71,9 +72,9 @@
+ android:layout_height="0dp"
+ android:layout_weight="1"
+ android:visibility="gone">
+ android:visibility="visible">
-
-
-
-
-
-
+
+
+
+ android:paddingVertical="16dp">
@@ -306,7 +314,6 @@
android:id="@+id/can_send"
android:layout_width="32dp"
android:layout_height="32dp"
- android:layout_marginVertical="10dp"
android:src="@mipmap/can_send"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/view_send"
@@ -314,24 +321,11 @@
app:layout_constraintTop_toTopOf="parent" />
-
-
+ android:layout_height="0dp"/>
-
-
-
+
\ No newline at end of file