I was able to get this working by padding out the keyboard inset. Now the layout resizes above the keyboard:
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets ->
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
val ime = insets.getInsets(WindowInsetsCompat.Type.ime())
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom + ime.bottom)
insets
}
This solution looks reasonable, but I'd appreciate any alternative solutions or additional advice as I'm new to android development. My initial impression from reading various docs was that I wouldn't need to do this manual padding adjustment with android:windowSoftInputMode="adjustResize"
set.