diff --git a/app/src/main/java/kr/co/vividnext/sodalive/user/login/LoginActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/user/login/LoginActivity.kt index a651871..782f7b0 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/user/login/LoginActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/user/login/LoginActivity.kt @@ -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::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::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::i TransitionManager.beginDelayedTransition(constraintLayout) constraintSet.applyTo(constraintLayout) } + + private fun hideKeyboard() { + handler.postDelayed({ + imm.hideSoftInputFromWindow( + window.decorView.applicationWindowToken, + InputMethodManager.HIDE_NOT_ALWAYS + ) + }, 100) + } }