如何在触摸/聚焦 SearchView 或显示/聚焦 Dialog 时保持隐藏底部导航栏 - AndroidStudio/Java

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

我在我的应用程序项目的每个活动的 onCreate 中调用这个函数:

public void hideDeviceBottomNav ()
{
    View decorView = getWindow().getDecorView();

    final int flags = 
      View.SYSTEM_UI_FLAG_LAYOUT_STABLE
    | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
    | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
    | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
    | View.SYSTEM_UI_FLAG_FULLSCREEN
    | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;

    decorView.setSystemUiVisibility(flags);

    decorView.setOnSystemUiVisibilityChangeListener
            (new View.OnSystemUiVisibilityChangeListener() {
                @Override
                public void onSystemUiVisibilityChange(int visibility) {
                    // Note that system bars will only be "visible" if none of the
                    // LOW_PROFILE, HIDE_NAVIGATION, or FULLSCREEN flags are set.
                    if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) {
                        // TODO: The system bars are visible. Make any desired
                        // adjustments to your UI, such as showing the action bar or
                        // other navigational controls.
                        decorView.setSystemUiVisibility(flags);
                    } else {
                        // TODO: The system bars are NOT visible. Make any desired
                        // adjustments to your UI, such as hiding the action bar or
                        // other navigational controls.

                    }
                }
            });
}

而且每次我触摸 SearchView 中的搜索图标以在我的 ListView 中搜索或创建并显示新的自定义对话框时,底部导航栏都会出现... .

另外,如何只隐藏底部导航而不隐藏上部栏?

java android-studio searchview android-bottomnavigationview
1个回答
0
投票

问题在这里回答。 最简单的方法是放入清单:

<activity android:name=".MainActivity" android:windowSoftInputMode="adjustPan">

© www.soinside.com 2019 - 2024. All rights reserved.