로그인

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