5

Ho un layout di barra degli strumenti compresso, sotto il layout di una scheda e sotto il viewpager corrispondente. Voglio implementare lo snap in modo tale che quando collasso il layout della barra degli strumenti che crolla più della metà e lo lasci, dovrebbe scattare e comprimere completamente. Come lo faccio? Ecco il mio layout attuale:Come implementare lo snap in CollapsingToolbarLayout?

<?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:id="@+id/main_content" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#231f20" 
    android:fitsSystemWindows="true"> 

    <android.support.v4.view.ViewPager 
     android:id="@+id/viewpager" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_marginTop="?attr/actionBarSize" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 

    <android.support.design.widget.TabLayout 
     android:id="@+id/tabs" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:layout_gravity="bottom" 
     android:background="#231f20" 
     app:layout_anchor="@+id/appbar" 
     app:layout_anchorGravity="bottom" 
     app:tabGravity="fill" 
     app:tabMode="fixed" /> 

    <android.support.design.widget.AppBarLayout 
     android:id="@+id/appbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:fitsSystemWindows="true" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 

     <android.support.design.widget.CollapsingToolbarLayout 
      android:id="@+id/collapsing_toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:fitsSystemWindows="true" 
      app:contentScrim="#FAC80A" 
      app:expandedTitleMarginBottom="110dp" 
      app:expandedTitleMarginStart="200dp" 
      app:layout_scrollFlags="scroll|exitUntilCollapsed"> 


      <RelativeLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:fitsSystemWindows="true" 
       app:layout_collapseMode="parallax"> 

       <ImageView 
        android:id="@+id/imageView78" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_alignParentEnd="true" 
        android:layout_alignParentRight="true" 
        android:layout_alignParentStart="true" 
        android:layout_alignParentLeft="true" 
        android:background="@drawable/user_profile_bg_img" 
        android:scaleType="fitXY" 
        android:src="@drawable/gradient" /> 

       <ImageView 
        android:id="@+id/imageView82" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:elevation="10dp" 
        android:src="@drawable/user_profile_shape_profile_pic" 
        android:layout_centerVertical="true" 
        android:layout_marginLeft="30dp" /> 

       <ImageView 
        android:id="@+id/imageView80" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentEnd="true" 
        android:layout_alignParentRight="true" 
        android:layout_gravity="center_vertical" 
        android:elevation="10dp" 
        android:layout_marginRight="60dp" 
        android:layout_marginTop="35dp" /> 

       <ImageView 
        android:id="@+id/imageView81" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentEnd="true" 
        android:layout_alignParentRight="true" 
        android:elevation="10dp" 
        android:layout_gravity="center_vertical" 
        android:layout_marginRight="20dp" 
        android:layout_marginTop="35dp" /> 

       <LinearLayout 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_centerHorizontal="true" 
        android:layout_marginLeft="30dp" 
        android:layout_marginTop="300dp" 
        android:orientation="horizontal"> 

        <LinearLayout 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_gravity="center_vertical" 
         android:orientation="vertical" 
         android:paddingRight="10dp" 
         android:elevation="10dp" 
         android:id="@+id/fans"> 

         <TextView 
          android:id="@+id/textView7" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:textColor="#FFFFFF" 
          android:textSize="16sp" /> 

         <TextView 
          android:id="@+id/textView8" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:alpha="0.8" 
          android:text="Fans" 
          android:textAppearance="?android:attr/textAppearanceSmall" 
          android:textColor="#FFFFFF" /> 
        </LinearLayout> 

        <ImageView 
         android:id="@+id/imageView179" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_gravity="center_vertical" 
         android:layout_marginRight="10dp" 
         android:src="@drawable/user_profile_thin_line_separator_profile_metrics" /> 

        <LinearLayout 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_gravity="center_vertical" 
         android:orientation="vertical" 
         android:paddingRight="10dp" 
         android:elevation="10dp" 
         android:id="@+id/comments"> 

         <TextView 
          android:id="@+id/textView9" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:textColor="#FFFFFF" 
          android:textSize="16sp" /> 

         <TextView 
          android:id="@+id/textView12" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:alpha="0.8" 
          android:text="Comments" 
          android:textAppearance="?android:attr/textAppearanceSmall" 
          android:textColor="#FFFFFF" /> 
        </LinearLayout> 

        <ImageView 
         android:id="@+id/imageView180" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_gravity="center_vertical" 
         android:layout_marginRight="10dp" 
         android:src="@drawable/user_profile_thin_line_separator_profile_metrics" /> 

        <LinearLayout 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_gravity="center_vertical" 
         android:orientation="vertical" 
         android:paddingRight="10dp" 
         android:elevation="10dp" 
         android:id="@+id/bookmarks"> 

         <TextView 
          android:id="@+id/textView13" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:textColor="#FFFFFF" 
          android:textSize="16sp" /> 

         <TextView 
          android:id="@+id/textView111" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:alpha="0.8" 
          android:text="Bookmarks" 
          android:textAppearance="?android:attr/textAppearanceSmall" 
          android:textColor="#FFFFFF" /> 
        </LinearLayout> 

        <ImageView 
         android:id="@+id/imageView181" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_gravity="center_vertical" 
         android:layout_marginRight="10dp" 
         android:src="@drawable/user_profile_thin_line_separator_profile_metrics" /> 

        <LinearLayout 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_gravity="center_vertical" 
         android:orientation="vertical" 
         android:elevation="10dp" 
         android:id="@+id/galleries"> 

         <TextView 
          android:id="@+id/textView112" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:textColor="#FFFFFF" 
          android:textSize="16sp" /> 

         <TextView 
          android:id="@+id/textView113" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:alpha="0.8" 
          android:text="Galleries" 
          android:textAppearance="?android:attr/textAppearanceSmall" 
          android:textColor="#FFFFFF" /> 
        </LinearLayout> 

       </LinearLayout> 

       <TextView 
        android:id="@+id/textView114" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginLeft="200dp" 
        android:layout_marginTop="200dp" 
        android:textColor="#FFFFFF" /> 


      </RelativeLayout> 

      <android.support.v7.widget.Toolbar 
       android:id="@+id/toolbar" 
       android:elevation="4dp" 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       app:layout_collapseMode="pin" 
       app:popupTheme="@style/ThemeOverlay.AppCompat.Light"> 

      </android.support.v7.widget.Toolbar> 

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

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

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

risposta

10

è la versione più recente della libreria di design, compile 'com.android.support:design:23.1.0', il snap è stato aggiunto

app:layout_scrollFlags="scroll|exitUntilCollapsed|snap" 

dovrebbe farlo

+0

ho aggiunto che. Ma il problema è che, quando scatta, la mia barra degli strumenti non è visibile, il che va bene, ma le mie schede vengono tagliate dalla barra di stato. Quindi, in effetti, c'è una barra di stato in alto, e sotto le mie schede, la cui altezza intorno al 30% è catturata dietro la barra di stato. Come lo aggiusto? Se vuoi, posso allegare screenshot. –

+0

Ciao @AmitTiwari, sei riuscito a risolvere questo problema? Sto anche lottando con questo. – executioner

+0

@executioner No. Avevo già provato la risposta sopra, ma il problema è lì. Probabilmente un bug nella funzionalità di snap stessa. Ci sono già stati altri bug in CollapsingToolbarLayout. –

Problemi correlati