Suppose I have some activity with a jetpack-compose content
class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { ScrollableColumn( modifier = Modifier .fillMaxSize() .border(4.dp, Color.Red) ) { val (text, setText) = remember { mutableStateOf("") } TextField( value = text, onValueChange = setText, label = {}, modifier = Modifier .fillMaxWidth() ) for (i in 0..100) { Text("Item #$i") } } } } } If I were to launch this activity and focus on the TextField a software keyboard would pop up.
The interface, however, would not react to it. ScrollableColumn's bottom border (.border(4.dp, Color.Red)) would not be visible, as well as 100th item (Text("Item #$i")).
In other words, software keyboard overlaps content.
How can I make jetpack compose respect visible area changes (due to software keyboard)?