在加载广告时使用以下代码,以确保插屏广告能够正确隐藏状态栏。
AdView interstitialAd = new AdView(this);
interstitialAd.setAdUnitId("YOUR_AD_UNIT_ID");
AdRequest adRequest = new AdRequest.Builder()
.build();
interstitialAd.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
if (interstitialAd.isLoaded()) {
interstitialAd.show();
hideSystemUI();
}
}
});
interstitialAd.loadAd(adRequest);
private void hideSystemUI() {
final View decorView = getWindow().getDecorView();
decorView.setSystemUiVisibility(
View.SYSTEM_UI_FLAG_IMMERSIVE
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
}
在onAdLoaded()
方法中,首先检查广告是否已加载。 如果广告可用,则调用show()
方法将其显示。 在此之后,可以使用hideSystemUI()
方法隐藏状态栏。hideSystemUI()
将帮助充分使用插屏广告空间,同时不影响用户体验。