使用协调器布局隐藏tablayout和appbar

时间:2015-10-28 18:40:04

标签: android android-fragments android-coordinatorlayout android-tablayout appbar

我有一个带有appbar布局(也包含导航视图)的主活动和一个带有tablayout的片段。我希望用户能够在滚动Google Play音乐应用程序的同时隐藏和显示它们。但是我无法让应用栏隐藏,因为它不在片段中,尽管tablayout被隐藏得很好。还要我无法将appbar布局移动到片段中,因为这将使我使用导航视图在片段之间切换的代码非常复杂。我正在使用协调器布局来实现此目标。我如何实现这一目标?。我的代码如下 - < / p>

WelcomeActivity

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

       <include
        android:id="@+id/welcome_toolbar"
        layout="@layout/default_toolbar_layout"
        app:layout_scrollFlags="scroll|enterAlways"/>

    <FrameLayout
        android:id="@+id/welcome"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_scrollFlags="scroll|enterAlways">


    </FrameLayout>

</LinearLayout>


<android.support.design.widget.NavigationView
    android:id="@+id/welcome_nav"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    app:menu="@menu/welcome_menu_drawer"/>


</android.support.v4.widget.DrawerLayout>

Myfragment.xml

<android.support.design.widget.CoordinatorLayout       xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/toolbar_gradient">


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


    <android.support.design.widget.TabLayout
        android:id="@+id/welcome_feeds_tab_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/toolbar_gradient"
        app:tabGravity="fill"
        app:tabSelectedTextColor="#fff"
        app:tabIndicatorColor="@color/accent"
        app:layout_scrollFlags="scroll|enterAlways"/>


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

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

<com.software.shell.fab.ActionButton
    android:id="@+id/welcome_feeds_fab"
    android:layout_width="56dp"
    android:layout_height="56dp"
    android:layout_gravity="bottom|right"
    android:layout_marginRight="16dp"
    android:layout_marginBottom="16dp"
    app:button_color="@color/accent"
    app:image="@mipmap/add"
    app:image_size="24dp"
    />
</android.support.design.widget.CoordinatorLayout>

1 个答案:

答案 0 :(得分:0)

我还没有尝试过您的代码..... 您的tabLayout在滚动时是否正确滑出屏幕? 您是否尝试过在CoordinatorLayout中移动工具栏? 要按设计使用库,库中的所有元素都必须在CoordinatorLayout中,您必须根据需要设置正确的属性“app:layout_scrollFlags”