0

J'ai utilisé la barre d'outils Collapsing dans la mise en page du cordinateur mais la barre de réduction ne s'effondre pas et reste sur le défilement.La barre d'outils qui s'est effondrée ne s'est pas effondrée lors du défilement dans la mise en page du cordinator

C'est activity_demo.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" 
     xmlns:tools="http://schemas.android.com/tools" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

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

<!-- Fit the system windows for your CollapsingToolbarLayout 
      also set your height to wrap_content and give image a height--> 

<android.support.design.widget.CollapsingToolbarLayout 
       android:id="@+id/collapsing_toolbar" 
       android:fitsSystemWindows="true" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       app:contentScrim="?attr/colorPrimary" 
       app:expandedTitleMarginStart="4dp" 
       app:expandedTitleMarginEnd="64dp"> 

       <ImageView 
        android:id="@+id/backdrop" 
        android:layout_width="match_parent" 
        android:layout_height="244dp" 
        android:scaleType="centerCrop" 
        android:fitsSystemWindows="true" 
        android:src="@drawable/cheese" 
        app:layout_collapseMode="parallax"/> 
       <!-- Tell your toolbar to scroll|enterAlways --> 
       <android.support.v7.widget.Toolbar 
        android:id="@+id/toolbar" 
        android:layout_width="match_parent" 
        android:layout_height="?attr/actionBarSize" 
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
        app:layout_scrollFlags="scroll|enterAlways"/> 
       <!-- add layout_gravity="bottom" --> 
       <android.support.design.widget.TabLayout 
        android:id="@+id/tabs" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        app:tabSelectedTextColor="?android:attr/textColorPrimaryInverse" 
        app:tabIndicatorColor="?android:attr/textColorPrimaryInverse" 
        app:tabIndicatorHeight="4dp" 
        android:layout_gravity="bottom"/> 
      </android.support.design.widget.CollapsingToolbarLayout> 
     </android.support.design.widget.AppBarLayout> 

     <android.support.v4.widget.NestedScrollView 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

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

       <android.support.v7.widget.CardView 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_margin="16dp"> 

        <LinearLayout 
         style="@style/Widget.CardContent" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content"> 

         <TextView 
          android:layout_width="match_parent" 
          android:layout_height="wrap_content" 
          android:text="Info" 
          android:textAppearance="@style/TextAppearance.AppCompat.Title" /> 

         <TextView 
          android:layout_width="match_parent" 
          android:layout_height="wrap_content" 
          android:text="@string/cheese_ipsum" /> 

        </LinearLayout> 

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

       <android.support.v7.widget.CardView 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_marginBottom="@dimen/card_margin" 
        android:layout_marginLeft="@dimen/card_margin" 
        android:layout_marginRight="@dimen/card_margin"> 

        <LinearLayout 
         style="@style/Widget.CardContent" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content"> 

         <TextView 
          android:layout_width="match_parent" 
          android:layout_height="wrap_content" 
          android:text="Friends" 
          android:textAppearance="@style/TextAppearance.AppCompat.Title" /> 

         <TextView 
          android:layout_width="match_parent" 
          android:layout_height="wrap_content" 
          android:text="@string/cheese_ipsum" /> 

        </LinearLayout> 

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

       <android.support.v7.widget.CardView 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_marginBottom="@dimen/card_margin" 
        android:layout_marginLeft="@dimen/card_margin" 
        android:layout_marginRight="@dimen/card_margin"> 

        <LinearLayout 
         style="@style/Widget.CardContent" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content"> 

         <TextView 
          android:layout_width="match_parent" 
          android:layout_height="wrap_content" 
          android:text="Related" 
          android:textAppearance="@style/TextAppearance.AppCompat.Title" /> 

         <TextView 
          android:layout_width="match_parent" 
          android:layout_height="wrap_content" 
          android:text="@string/cheese_ipsum" /> 

        </LinearLayout> 

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

      </LinearLayout> 

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

C'est DemoActivity.java -

package com.example.priyanshu.iitmandi; 

    import android.os.Bundle; 
    import android.support.design.widget.CollapsingToolbarLayout; 
    import android.support.v7.app.AppCompatActivity; 
    import android.support.v7.widget.Toolbar; 
    import android.widget.ImageView; 

public class DemoActivity extends AppCompatActivity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_demo); 

     final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(toolbar); 
     getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

     CollapsingToolbarLayout collapsingToolbar = 
       (CollapsingToolbarLayout) findViewById(R.id.collapsing_toolbar); 
     collapsingToolbar.setTitle("Faculty"); 

     loadBackdrop(); 
    } 

    private void loadBackdrop() { 
     final ImageView imageView = (ImageView) findViewById(R.id.backdrop); 

     imageView.setImageResource(R.drawable.cheese); 
    } 

} 

Si capture d'écran de l'activité est nécessaire, alors laissez-moi savoir

+0

comparer ici: http://guides.codepath.com/android/handling-scrolls-with-coordinatorlayout#creating-collapsing-effects –

Répondre

1

Essayez cette suggestion:

1.Vous n'avez pas ajouté app:layout_scrollFlags au CollapsingToolbarLayout

app:layout_scrollFlags="scroll|enterAlways|snap" //add this 
app:contentScrim="?attr/colorPrimary" 
app:expandedTitleMarginStart="48dp" 
app:expandedTitleMarginEnd="64dp" 

2.Next chose mettre le <android.support.design.widget.TabLayout sur CollapsingToolbarLayout et ajoutez sous AppBarLayout

3.In votre NestedScrollview ajouter android:fillViewport="true" parfois il donne la sortie désirée.

<android.support.v4.widget.NestedScrollView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:fillViewport="true" 

EDIT

vous pouvez aussi essayer de CollapsingToolbarLayout

app:layout_scrollFlags="scroll|enterAlways|enterAlwaysCollapsed" 

et Toolbar

app:layout_collapseMode="pin" 
app:layout_scrollFlags="scroll|exitUntilCollapsed" 

il frapperai la barre d'outils pendant le défilement ..

+0

Merci l'homme !! cela a fonctionné, mais un petit problème est là que sur défilement la barre d'outils s'effondrer complètement disparaît (c'est à la fois l'image et le titre disparaît) à la place je veux le rétrécir à petite taille et rester là (c'est seulement le titre devrait être affiché) – Somebody

+0

: 'app: layout_scrollFlags =" scroll | enterAlways | enterAlwaysCollapsed "' en savoir plus sur les drapeaux: http://guides.codepath.com/android/handling-scrolls-with-coordinatorlayout#creating-collapsing-effects – rafsanahmad007

+0

Erreur :(22, 37) Les types de chaînes ne sont pas autorisés (à 'layout_scrollFlags' avec la valeur 'scroll | enterAlways | enterAlwaysCollap sed'). Cette erreur est affichée en ajoutant le drapeau de défilement que vous venez de suggérer – Somebody