Как правильно и постоянно скрыть статус и навигационные панели на Android? - PullRequest
0 голосов
/ 23 марта 2019

Я создаю приложение для Android (6.0, но я могу изменить его при необходимости), и мне не удается правильно скрыть статус и навигационные панели.Я следил за каждым предложением в Интернете, которое смог найти, но оба бара правильно скрываются при каждом запуске или возобновлении работы приложения, но они мгновенно появляются при каждом нажатии.Я добавил следующий код в styles.xml:

    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name = "android:windowActionBar">false</item>
        <item name = "android:windowNoTitle">true</item>
    </style>

И в MainActivity.java:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        hideBars();
    }
    @Override
    public void onResume(){
        super.onResume();
        hideBars();
    }
    void hideBars(){
        setContentView(R.layout.activity_main);

        View decorView = getWindow().getDecorView();
        int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN;
        decorView.setSystemUiVisibility(uiOptions);
        ActionBar actionBar = getSupportActionBar();
        actionBar.hide();
    }

Как я могу заставить эти два бара окончательно исчезнуть без немедленного повторного появлениякогда я нажму?

Ответы [ 2 ]

0 голосов
/ 23 марта 2019

Хорошо, так что я понял, что случилось. Чтобы предотвратить повторное появление баров после нажатия, необходимо установить флаг View.SYSTEM_UI_FLAG_IMMERSIVE. Это делает так, чтобы панель действий появлялась только тогда, когда пользователи проводят по краям экрана.

0 голосов
/ 23 марта 2019

NoActionBar должен решить вашу проблему.

<style name=“AppTheme” parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name = "android:windowActionBar">false</item>
    <item name = "android:windowNoTitle">true</item>
</style>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...