在协调器布局中隐藏tablayout,这是外部活动

时间:2016-05-30 13:56:16

标签: android xml android-tablayout coordinator-layout

我在协调器布局方面遇到了一些问题。我在appBarLayout里面有一个活动工具栏,里面有父级CoordinatorLayout(我想使工具栏可以隐藏),并在appBarLayout和viewPager中使用tablayout进行片段化。这是活动的XML

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:app="http://schemas.android.com/apk/res-auto"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:background="@drawable/gradient"
   android:fitsSystemWindows="true">

    <android.support.design.widget.AppBarLayout
       android:id="@+id/toolbar_container"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:theme="@style/AppTheme.AppBarOverlay">

        <android.support.v7.widget.Toolbar
           android:id="@+id/toolbar"
           android:layout_width="match_parent"
           android:layout_height="?attr/actionBarSize"
           android:background="?attr/colorPrimary"
           app:layout_scrollFlags="scroll|enterAlways|snap"
           app:popupTheme="@style/AppTheme.PopupOverlay"/>

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

    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
       android:id="@+id/content"
       android:layout_width="match_parent"
       android:layout_height="match_parent" />

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

它的片段XML

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:app="http://schemas.android.com/apk/res-auto"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:background="@drawable/gradient"
   android:fitsSystemWindows="true">

    <android.support.design.widget.AppBarLayout
       xmlns:android="http://schemas.android.com/apk/res/android"
       xmlns:app="http://schemas.android.com/apk/res-auto"
       android:id="@+id/toolbar_container"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:theme="@style/AppTheme.AppBarOverlay">

        <android.support.design.widget.TabLayout
           android:id="@+id/tabs"
           style="@style/MyCustomTabLayout"
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           app:tabGravity="fill"/>

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

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

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

目前,我有这种情况,工具栏在某处。 Have no toolbar

如果我将活动内部的协调器布局更改为线性布局,我会看到工具栏可见,但您可以想象没有隐藏选项。

实际上,我经常使用协调器布局:在少数情况下隐藏和显示工具栏,例如视差和其他 - https://github.com/Iamtodor/toolbars,所以你可以肯定,我有点了解它是如何工作的:)< / p>

另外,我有这个来源: - https://github.com/codepath/android_guides/wiki/Handling-Scrolls-with-CoordinatorLayout - https://github.com/codepath/android_guides/wiki/Using-the-App-ToolBar#using-toolbar-as-actionbar - https://github.com/chrisbanes/cheesesquare

但是当tablayout存在于带有工具栏的同一个appbarlayout中时,有一些例子。

我该如何解决?

1 个答案:

答案 0 :(得分:0)

这对我有用:

片段XML:

<android.support.design.widget.AppBarLayout
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/app_bar_layout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:elevation="0dp">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_scrollFlags="scroll|enterAlways|snap" >

        <include layout="@layout/include_time_line"
            android:layout_height="wrap_content"
            android:layout_width="match_parent" />
    </android.support.v7.widget.Toolbar>

    <android.support.design.widget.TabLayout
        style="@style/TabLayout"
        android:id="@+id/tabLayout"
        android:layout_width="match_parent"
        android:layout_height="54dp"
        android:layout_gravity="bottom"
        android:background="@color/egg"
        android:elevation="0dp"
        app:tabGravity="fill"
        app:tabMode="scrollable"
        app:tabIndicatorColor="#fcd131"
        app:tabPadding="0dp"
        app:tabIndicatorHeight="4dp"/>
</android.support.design.widget.AppBarLayout>

<com.woot.woot.productbrowse.ui.ConfigurablePagingViewPager
    android:id="@+id/viewPager"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    />
<FrameLayout
    android:id="@+id/selectByWeightKeyboard"
    android:layout_width="match_parent"
    android:layout_height="@dimen/weight_keyboard_container_height"
    android:background="@color/keyboard"
    android:clipToPadding="false"
    android:elevation="16dp"
    android:clickable="true"
    app:layout_behavior="android.support.design.widget.BottomSheetBehavior">

    <include layout="@layout/add_product_by_weight_keyboard" />
</FrameLayout>

活动XML:

    <FrameLayout
        android:id="@+id/contentFrame"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <FrameLayout
        android:id="@+id/layout_done_button"
        android:visibility="gone"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:elevation="8dp"
        tools:visibility="visible"
        android:background="@color/ice">

        <Button
            android:id="@+id/button_done"
            style="?android:attr/borderlessButtonStyle"
            android:layout_width="match_parent"
            android:layout_height="@dimen/button_height"
            android:layout_marginRight="@dimen/button_done_horizontal_margin"
            android:layout_marginLeft="@dimen/button_done_horizontal_margin"
            android:layout_marginTop="@dimen/activity_horizontal_margin"
            android:layout_marginBottom="@dimen/activity_horizontal_margin"
            android:background="@drawable/rounded_green_button"
            android:text="@string/done"
            android:textSize="@dimen/button_text_size"
            android:textAllCaps="true"
            android:textColor="@color/egg" />
    </FrameLayout>

<android.support.design.widget.NavigationView
    android:id="@+id/navigation"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:contentDescription="@string/drawer_content_description"
    app:menu="@menu/menu_navigation_product_browse" />