class MainActivity : ComponentActivity() {
личная переменная interstitialAd: InterstitialAd? = ноль
Код: Выделить всё
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// ... load ad
enableEdgeToEdge()
setContent {
AppTheme {
Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding ->
Column(
modifier = Modifier.padding(innerPadding)
) {
Button(onClick = {
interstitialAd?.show(this@MainActivity)
}) {
Text(
text = "Show fullscreen ad"
)
}
}
}
}
}
}
[img]https: //i.sstatic.net/AJipveI8.png[/img]
Но когда я нажимаю кнопку, чтобы показать рекламу, содержимое активности приложения перескакивает под строку состояния:

Это очень раздражающий. У меня есть эта проблема в моих реальных проектах, где я также использую Jetpack Compose.
Нам нужно использовать EnableEdgeToEdge() или WindowCompat.setDecorFitsSystemWindows(window, false) чтобы иметь возможность рисовать фон для системных панелей с помощью Jetpack Compose вместо Theme/Style xml.
Проблема возникает с любым действием, которое появляется над собственной активностью приложения, например:
[*]когда появится диалоговое окно с выбором приложения: context.startActivity(Intent.createChooser(...))
[*]Google Play в обзоре приложений: reviewManager.launchReviewFlow(activity, reviewInfo)
< /ol>
и так далее
Как лучше всего это исправить?
Подробнее здесь: https://stackoverflow.com/questions/787 ... stitial-is