Форум для тех, кто программирует под Android
Anonymous
Погруженный режим с всплывающей меню Android API?
Сообщение
Anonymous » 07 авг 2025, 14:50
Погруженный (-sticky) режим не может полностью скрыть навигационную панель полностью. Когда я нажимаю и показываю всплывающее меню, навигационная панель (с прозрачным фоном) поднимается как зомби. Это явление одинаково как на API-29, так и на более раннем, и на API-30.
Код: Выделить всё
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = findViewById(R.id.toolbar);
toolbar.inflateMenu(R.menu.main);
}
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus) {
hideSystemUI();
}
}
private void hideSystemUI() {
Window window = getWindow();
View decorView = window.getDecorView();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
WindowInsetsController windowInsetsController = decorView.getWindowInsetsController();
windowInsetsController.setSystemBarsBehavior(
WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
);
windowInsetsController.hide(
WindowInsets.Type.statusBars()
| WindowInsets.Type.navigationBars()
);
window.setDecorFitsSystemWindows(false);
} else {
window.addFlags(
WindowManager.LayoutParams.FLAG_FULLSCREEN
| WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS
);
decorView.setSystemUiVisibility(
View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
);
}
}
}
< /code>
макет: < /p>
Я уже читал старый подобный вопрос, но он до сих пор не имеет ответа.>
Подробнее здесь:
https://stackoverflow.com/questions/680 ... d-apis-bug
1754567409
Anonymous
Погруженный (-sticky) режим не может полностью скрыть навигационную панель полностью. Когда я нажимаю и показываю всплывающее меню, навигационная панель (с прозрачным фоном) поднимается как зомби. Это явление одинаково как на API-29, так и на более раннем, и на API-30.[code]public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = findViewById(R.id.toolbar); toolbar.inflateMenu(R.menu.main); } @Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); if (hasFocus) { hideSystemUI(); } } private void hideSystemUI() { Window window = getWindow(); View decorView = window.getDecorView(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { WindowInsetsController windowInsetsController = decorView.getWindowInsetsController(); windowInsetsController.setSystemBarsBehavior( WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE ); windowInsetsController.hide( WindowInsets.Type.statusBars() | WindowInsets.Type.navigationBars() ); window.setDecorFitsSystemWindows(false); } else { window.addFlags( WindowManager.LayoutParams.FLAG_FULLSCREEN | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS ); decorView.setSystemUiVisibility( View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION ); } } } < /code> макет: < /p> [/code] Я уже читал старый подобный вопрос, но он до сих пор не имеет ответа.> Подробнее здесь: [url]https://stackoverflow.com/questions/68045368/immersive-mode-with-popup-menu-android-apis-bug[/url]