如何动态显示(隐藏)操作栏

How to dynamic show(hide) action bar

我的应用程序包含一个 AppCompatActivity 和一些片段,在一些片段中,我想隐藏操作栏(例如,登录片段),在其他片段中,我想显示操作栏。该应用程序有一个主题<style name="AppTheme" parent="Theme.MaterialComponents.Light">,这个主题有一个操作栏,我想知道如何在代码中动态显示或隐藏操作栏。

我已经试过了 getSupportActionBar().hide(); 但这只做了操作栏 半透明,它仍然保持 space.

我建议使用没有 ActionBar 的主题并将您自己的工具栏添加到您的 activity_layout.xml。一旦你把它放在你的布局中,你可以很容易地用 toolbar.setVisibility(View.GONE); 隐藏它。如果您想动画隐藏和显示它,您可以使用 TransitionManager.beginDelayedTransition() 来实现。根据您想要达到的效果,您还可以尝试设置一个 translationY 以从屏幕上隐藏工具栏。