以编程方式隐藏/显示AppBarLayout中的android支持设计TabLayout

我想以编程方式隐藏/显示我的TabLayout中的AppBarLayout 。 简单地将可见性设置为VISIBLEGONE是不够的,因为我想为变化设置animation并使用我的内容回收空间,同时标签撤退并在标签显示后退出空间。

下面是我的布局XML的相关部分 –

       

与任何ViewGroup子类一样, AppBarLayout允许在添加/删除子视图期间自动设置animation。 您只需要在布局文件中添加android:animateLayoutChanges="true" (默认为false )。

至于在视图消失时回收空间内容,您所要做的就是使用setVisibility(View.GONE)而不是setVisibility(View.INVISIBLE) ,因为后者保留了不可见视图的空间。