로그인
- 로그인 액션시 키보드가 바로 숨겨지도록 수정
This commit is contained in:
@@ -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)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user