画面遷移時にキーボードを閉じる
NavController#addOnDestinationChangedListenerで画面遷移時にフックしてキーボードを閉じる。
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
...
val navController = findNavController(R.id.nav_host_fragment_content_main)
appBarConfiguration = AppBarConfiguration(navController.graph)
setupActionBarWithNavController(navController, appBarConfiguration)
navController.addOnDestinationChangedListener { _, _, _ ->
currentFocus?.also { view ->
val manager = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
manager.hideSoftInputFromWindow(view.windowToken, 0)
}
}
}
}
getSystemService(Context.INPUT_METHOD_SERVICE)
でInputMethodManager
を取得し、hideSoftInputFromWindowを呼び出してキーボードを閉じる。
\確かな知識を身に着けたい、Androidアプリ開発を学びたい人にオススメ!/