画面遷移時にキーボードを閉じる

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を呼び出してキーボードを閉じる。