Android/AndroidStudio
[Android Studio] Soft Keyboard 내리는 방법
앱의노예
2022. 12. 30. 14:44
키보드를 코드로 제어해 내리는 방법이다
버튼을 누르면 키보드가 내려가거나 키보드 이외의 영역을 터치하면 키보드가 내려가는 등 여러 영역에서 쓰인다
Activity에서 구현하냐 Fragment에서 구현하냐에 따라 코드가 약간 달라진다
InputMethodManager inputManager = (InputMethodManager) this.getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(this.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
먼저 Activity에서 필요한 코드이다
InputMethodManager InputMethodManager = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
InputMethodManager.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY);
Fragment에서 필요한 코드이다
모두 Java코드이지만 코틀린 파일에 넣어도 자동변환 기능이 잘되어 있기에 쉽게 사용할 수 있다
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val myButton: Button = findViewById(R.id.test_button)
myButton.setOnClickListener{
val inputManager = this.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
inputManager.hideSoftInputFromWindow(this.currentFocus!!.windowToken, InputMethodManager.HIDE_NOT_ALWAYS)
}
}
}
마지막은 위의 gif를 구현하는데 작성한 코틀린 코드이다
버튼을 누르면 키보드가 내려가게 작성하였다