【问题标题】:How to autohide TabLayout in on Scrollup/Scrolldown如何在向上滚动/向下滚动时自动隐藏 TabLayout
【发布时间】:2015-11-17 16:07:21
【问题描述】:

在阅读了很多关于自动隐藏工具栏/标签栏的教程之后。我遇到了材料设计支持库,我们可以使用它轻松地自动隐藏工具栏/标签栏:

app:layout_scrollFlags="scroll|enterAlways"(在 XML 工具栏中) 这是支持库参考 --> 编译'com.android.support:design:22.2.0'

但我需要的是在向上滚动时自动隐藏 TabLayout(Tabbar 而不是工具栏),在向下滚动时自动隐藏 TabLayout。

这是我的activity_main。

<android.support.design.widget.AppBarLayout
    android:id="@+id/id_appbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:fitsSystemWindows="true">

    <android.support.v7.widget.Toolbar
        android:id="@+id/id_toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        app:layout_scrollFlags="scroll|enterAlways" />

    <android.support.design.widget.TabLayout
        android:id="@+id/id_tabs"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

</android.support.design.widget.AppBarLayout>

<android.support.v4.view.ViewPager
    android:id="@+id/id_viewpager"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"/>

我检查了在 TabLayout 中添加 app:layout_scrollFlags="scroll|enterAlways",但它不起作用。任何人都可以帮助我实现它。

【问题讨论】:

    标签: android-studio material-design android-appbarlayout


    【解决方案1】:

    看看我的代码:

    <android.support.design.widget.CoordinatorLayout
        android:id="@+id/home_coordinator_layout"
        android:fitsSystemWindows="true"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <android.support.design.widget.AppBarLayout
            android:id="@+id/home_appbar_layout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
            app:elevation="2dp"
            app:paddingEnd="0dp"
            app:paddingStart="0dp">
    
            <include layout="@layout/toolbar_appcompat"></include>
    
            <android.support.design.widget.TabLayout
                android:id="@+id/home_tab_layout"
                style="@style/TabLayoutStyle"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                app:tabContentStart="2dp"
                app:tabGravity="fill"
                app:tabIndicatorColor="@android:color/white"
                app:tabIndicatorHeight="2dp"
                app:tabMinWidth="24dp"
                app:tabMode="fixed"
                app:tabPadding="1dp"
                app:tabSelectedTextColor="@android:color/tab_indicator_text"
                app:tabTextColor="@android:color/darker_gray" />
        </android.support.design.widget.AppBarLayout>
    
        <android.support.v4.view.ViewPager
            android:id="@+id/home_view_pager"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_behavior="@string/appbar_scrolling_view_behavior"
            app:paddingEnd="0dp"
            app:paddingStart="0dp" />
    
        <android.support.design.widget.FloatingActionButton
            android:id="@+id/fab_home"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="20dp"
            android:src="@drawable/arrow_toggle"
            app:borderWidth="1dp"
            app:elevation="3dp"
            app:fabSize="normal"
            app:layout_anchor="@+id/home_coordinator_layout"
            app:layout_anchorGravity="bottom|right|end"
            app:pressedTranslationZ="2dp"
            app:rippleColor="@color/swipe_refresh_color_scheme_green" />
    
    </android.support.design.widget.CoordinatorLayout>
    

    效果很好。 ViewPager 向上滚动时会隐藏,ViewPager 向下滚动时会显示。

    【讨论】:

    • 首先感谢您的即时响应,我尝试使用您的代码,它不会在向上/向下滚动时自动隐藏 Tabbar。您能否更具体地了解 TabLayout 并传达我必须在那里进行的更改。
    猜你喜欢
    • 1970-01-01
    • 2016-01-17
    • 1970-01-01
    • 2023-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-12
    相关资源
    最近更新 更多