Как динамически отображать (скрывать) панель действий - PullRequest
0 голосов
/ 10 июля 2019

Мое приложение содержит одну AppCompatActivity и несколько фрагментов, в некоторых фрагментах я хочу скрыть панель действий (например, фрагмент входа в систему), в других фрагментах я хочу показать панель действий. В приложении есть тема <style name="AppTheme" parent="Theme.MaterialComponents.Light">, в этой теме есть панель действий, я хочу знать, как динамически отображать или скрывать панель действий в коде.

Я пытался getSupportActionBar().hide();, но это только сделало панель действий полупрозрачность, она все еще удерживает пространство.

1 Ответ

2 голосов
/ 10 июля 2019

Я бы предложил использовать тему без ActionBar и добавить собственную панель инструментов в activity_layout.xml. Если у вас есть его в макете, вы можете легко скрыть его с помощью toolbar.setVisibility(View.GONE);. Если вы хотите анимировать скрытие и показ этого, вы можете сделать это с помощью TransitionManager.beginDelayedTransition(). В зависимости от эффекта, которого вы хотите добиться, вы также можете попробовать установить translationY, чтобы скрыть панель инструментов от экрана.

...