Вот код, который я использую: < /p>
Код: Выделить всё
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.material3.Scaffold
import androidx.compose.material3.Text
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp
import com.vivek.windowapplication.ui.theme.WindowApplicationTheme
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContent {
WindowApplicationTheme {
Scaffold(
modifier = Modifier.fillMaxSize(),
contentWindowInsets = WindowInsets.systemBars
) { innerPadding ->
LazyColumn(
modifier = Modifier
.padding(vertical = 10.dp, horizontal = 10.dp)
.consumeWindowInsets(innerPadding)
.imePadding(),
contentPadding = innerPadding,
) {
items(100) {
Text(
text = "Item $it",
modifier = Modifier
.fillMaxWidth()
.background(Color.White)
.padding(16.dp)
)
}
}
}
}
}
}
}
Lazycolumn Содержание должно соблюдать системные стержни и быть полностью видимым, без перекрытия строки состояния.
Что я попробовал :
Windowsinsets.systembars на каркасе .
Применение ConmercialIndowinsets (InnerPadding) Внутри содержания. Рекомендуемый подход, проблема все еще сохраняется на Android 15.
Какой правильный способ обеспечить постоянную работу обработки вставки на всех уровнях API - особенно Android 15? /> < /p>
Подробнее здесь: https://stackoverflow.com/questions/795 ... ck-compose