Ich möchte das TabLayout
in meinem AppBarLayout
programmatisch verstecken/zeigen. Das Einstellen der Sichtbarkeit auf VISIBLE
und GONE
reicht nicht aus, da ich die Änderungen animieren und den Speicherplatz mit meinem Inhalt zurückerlangen möchte, während der Tab sich zurückzieht und den Platz freigibt, sobald der Tab wieder angezeigt wird.Programmatisch verstecken/zeigen Android Support-Design TabLayout innerhalb AppBarLayout
Unten ist der relevante Teil meiner Layout XML -
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
app:layout_scrollFlags="scroll|enterAlways"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
<android.support.design.widget.TabLayout
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_scrollFlags="scroll|enterAlways"
app:tabMode="scrollable"
android:layout_marginStart="42dp"
android:layout_marginLeft="42dp"
style="@style/MainTabLayout">
</android.support.design.widget.TabLayout>
</android.support.design.widget.AppBarLayout>
Um die Änderung zu animieren, fügen Sie einfach android: animateLayoutChanges = "true" zum übergeordneten AppBarLayout hinzu. Das heißt, View.GONE sollte ausreichen. – natario
Das funktioniert nahtlos! Vielen Dank! Wenn du es als Antwort posten kannst, kann ich es akzeptieren. – jaibatrik