로그인

- 로그인 액션시 키보드가 바로 숨겨지도록 수정
This commit is contained in:
klaus 2025-03-22 06:53:10 +09:00
parent 489b968ea3
commit 2d69f27a25
1 changed files with 23 additions and 1 deletions

View File

@ -1,10 +1,14 @@
package kr.co.vividnext.sodalive.user.login
import android.app.Service
import android.content.Intent
import android.graphics.Rect
import android.os.Bundle
import android.os.Handler
import android.os.Looper
import android.transition.TransitionManager
import android.view.inputmethod.EditorInfo
import android.view.inputmethod.InputMethodManager
import android.widget.LinearLayout
import android.widget.Toast
import androidx.annotation.OptIn
@ -29,9 +33,14 @@ class LoginActivity : BaseActivity<ActivityLoginBinding>(ActivityLoginBinding::i
private val viewModel: LoginViewModel by inject()
private lateinit var imm: InputMethodManager
private lateinit var loadingDialog: LoadingDialog
private val handler = Handler(Looper.getMainLooper())
override fun onCreate(savedInstanceState: Bundle?) {
imm = getSystemService(Service.INPUT_METHOD_SERVICE) as InputMethodManager
super.onCreate(savedInstanceState)
bindData()
}
@ -58,13 +67,17 @@ class LoginActivity : BaseActivity<ActivityLoginBinding>(ActivityLoginBinding::i
binding.etPassword.setOnEditorActionListener { _, actionId, _ ->
if (actionId == EditorInfo.IME_ACTION_DONE) {
hideKeyboard()
login()
true
} else {
false
}
}
binding.tvLogin.setOnClickListener { login() }
binding.tvLogin.setOnClickListener {
hideKeyboard()
login()
}
binding.tvSignUp.setOnClickListener {
val nextIntent = Intent(applicationContext, SignUpActivity::class.java)
@ -160,4 +173,13 @@ class LoginActivity : BaseActivity<ActivityLoginBinding>(ActivityLoginBinding::i
TransitionManager.beginDelayedTransition(constraintLayout)
constraintSet.applyTo(constraintLayout)
}
private fun hideKeyboard() {
handler.postDelayed({
imm.hideSoftInputFromWindow(
window.decorView.applicationWindowToken,
InputMethodManager.HIDE_NOT_ALWAYS
)
}, 100)
}
}