Chcę programowo ukryć/pokazać TabLayout
w moim AppBarLayout
. Po prostu ustawienie widoczności na VISIBLE
i GONE
nie wystarczy, ponieważ chcę animować zmiany i odzyskać przestrzeń wraz z moją zawartością, podczas gdy karta wycofuje się i opuszcza spację po wyświetleniu karty.Programowo ukryj/pokaż projekt wsparcia dla Androida TabLayout wewnątrz AppBarLayout
Poniżej znajduje się odpowiednia część mojego układu 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>
Aby ożywić zmianę, po prostu dodaj android: animateLayoutChanges = "true" do nadrzędnego AppBarLayout. Powiedział, że View.GONE powinno wystarczyć. – natario
To działa bezproblemowo! Dzięki! Jeśli możesz opublikować odpowiedź jako odpowiedź, będę mógł ją zaakceptować. – jaibatrik