0

滾動ViewPager內的RecyclerView時,我沒有任何運氣隱藏我的應用程序欄。我發現後:CoordinatorLayout with ViewPager

CoordinatorLayout using the ViewPager's RecyclerView

,但我沒有任何與它的運氣。這是我的活動佈局文件:

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/drawer" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <android.support.design.widget.CoordinatorLayout 
     android:id="@+id/main_content" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:fitsSystemWindows="true" > 

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

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

      <android.support.design.widget.TabLayout 
       android:id="@+id/tabs" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       app:tabMode="scrollable" /> 

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

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

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

    <include 
     android:id="@+id/drawer_list" 
     layout="@layout/nav_drawer_list_view" /> 

    <include 
     android:id="@+id/citizensFilter" 
     layout="@layout/citizens_activity_filter" /> 

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

的片段具有的意見提供了良好的內部量,所以我不知道這可能是一個問題:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:animateLayoutChanges="true" 
    android:background="@color/colorCitizenBackground" > 

    <TextView 
     android:id="@+id/tvUpgrade" 
     android:layout_width="match_parent" 
     android:layout_height="48dp" 
     android:layout_alignParentBottom="true" 
     android:animateLayoutChanges="true" 
     android:gravity="center" 
     android:text="@string/load_more_profiles" 
     android:textSize="16sp" 
     android:textColor="@color/white" /> 

    <android.support.v4.widget.SwipeRefreshLayout 
     android:id="@+id/layoutSwipeRefresh" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_above="@+id/tvUpgrade" 
     android:layout_below="@+id/horizontalScrollView1" > 

     <android.support.v7.widget.RecyclerView 
      android:id="@+id/recyclerCitizens" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent"> 
     </android.support.v7.widget.RecyclerView> 


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

    <HorizontalScrollView 
     android:id="@+id/horizontalScrollView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentTop="true" 
     android:background="@color/citizen_filter_color" 
     android:paddingLeft="5dp" 
     android:paddingRight="5dp" 
     android:scrollbars="none" > 

     <TextView 
      android:id="@+id/tvFilterList" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center_horizontal" 
      android:singleLine="true" 
      android:textAppearance="?android:attr/textAppearanceSmall" 
      android:textColor="@color/white" /> 
    </HorizontalScrollView> 

    <include android:id="@+id/layoutNoneFound" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     layout="@layout/view_no_search_results" 
     android:layout_below="@+id/horizontalScrollView1" /> 

    <include android:id="@+id/layoutLoading" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     layout="@layout/view_loading" 
     android:layout_below="@+id/horizontalScrollView1" /> 

    <include android:id="@+id/layoutGetLocation" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     layout="@layout/view_determine_location" 
     android:layout_below="@+id/horizontalScrollView1" /> 

    <RelativeLayout 
     android:id="@+id/layoutDiscover" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="@android:color/transparent" 
     android:clickable="true" 
     android:visibility="invisible" > 

    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true" 
     android:background="@drawable/rounded_corners_discover" 
     android:orientation="vertical" > 

     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal" 
      android:paddingLeft="20dp" 
      android:paddingStart="20dp" 
      android:paddingRight="20dp" 
      android:paddingEnd="20dp"> 

      <TextView 
       android:id="@+id/tvDiscover" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="@string/discover" 
       android:textColor="@color/colorPrimaryText" 
       android:textAppearance="?android:attr/textAppearanceSmall" /> 

       <Spinner 
        android:id="@+id/spDiscover" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:gravity="right|end" 
        android:layout_weight="1" /> 
      </LinearLayout> 

      <android.support.v7.widget.RecyclerView 
       android:id="@+id/recyclerDiscover" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:paddingBottom="20dp" 
       android:paddingTop="20dp" 
       android:layout_marginLeft="10dp" 
       android:layout_marginStart="10dp" 
       android:layout_marginRight="10dp" 
       android:layout_marginEnd="10dp"> 
      </android.support.v7.widget.RecyclerView> 

     </LinearLayout> 
    </RelativeLayout> 

</RelativeLayout> 

我甚至曾試圖設定編程使用的CoordinatorLayout;

CoordinatorLayout.LayoutParams params = new CoordinatorLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); 
params.setBehavior(new AppBarLayout.ScrollingViewBehavior()); 
recyclerCitizens.setLayoutParams(params); 

但這仍然沒有效果。我錯過了什麼?我的印象是,設置ViewPager上的layout_behavior將允許這種實現。

回答

0

我能弄清楚問題出在哪裏。在我的佈局文件中,我無法執行<include>聲明。我不得不改變:

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

到:

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