在 Android API 33 上锁定对系统导航栏的访问

问题描述 投票:0回答:1

我在 Android 应用程序上自定义了导航按钮,现在我需要找到一种方法来禁用滑动时出现在底部的系统导航按钮。 我的目标是 Android API 33

我可以使用下面的代码隐藏导航栏,但菜单栏会在滑动时重新出现。我需要阻止这种情况发生。

DrawerLayout.LOCK_MODE_LOCKED_CLOSED - 不起作用。

我非常感谢有关如何解决此问题的建议。

谢谢!

android kotlin navigation
1个回答
0
投票

您可以尝试此代码,在 Android 11 上运行良好

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {

    window.getInsetsController().hide(WindowInsets.Type.systemBars());

} else {

    View decorView = window.getDecorView();

    int uiVisibility = decorView.getSystemUiVisibility();

    uiVisibility |= View.SYSTEM_UI_FLAG_LOW_PROFILE;
    uiVisibility |= View.SYSTEM_UI_FLAG_FULLSCREEN;
    uiVisibility |= View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        uiVisibility |= View.SYSTEM_UI_FLAG_IMMERSIVE;
        uiVisibility |= View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
    }

    decorView.setSystemUiVisibility(uiVisibility);
}
© www.soinside.com 2019 - 2024. All rights reserved.