5

Ich versuche, die CollapsingToolbarLayout zu verwenden, um eine reduzierbare Symbolleiste mit einem ViewPager zu haben, der beim Scrollen verschwindet, aber ich scheine die Fähigkeit zu verlieren, wenn der ViewPager vorhanden ist, zu verlieren.CollapsingToolbarLayout mit einem ViewPager

Der ViewPager soll mehrere Bilder in der Symbolleiste anzeigen.

Hier ist der 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:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true"> 

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

     <android.support.design.widget.CollapsingToolbarLayout 
      android:id="@+id/collapsing_toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      app:layout_scrollFlags="scroll|exitUntilCollapsed" 
      app:contentScrim="?attr/colorPrimary" 
      android:fitsSystemWindows="true"> 

      <android.support.v4.view.ViewPager 
       android:id="@+id/pager" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       app:layout_collapseMode="parallax" 
       android:fitsSystemWindows="true"> 
      </android.support.v4.view.ViewPager> 

      <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_collapseMode="pin" /> 

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

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

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

     <!-- Content --> 

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

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

xml sieht in Ordnung, welches Problem Sie konfrontiert sind? –

+0

@MukeshRana Ich kann horizontal im ViewPager aber nicht vertikal scrollen, um es zu verbergen. – Nashuim

+0

aber Sie sollten eine scrollbare Ansicht unter Ihrem Viewpager haben, wie in Ihrem Fall ist es NestedScrollView. Sie müssen also vertikal Ihre NestedScrollView und nicht den Viewpager scrollen. Viewpager reagiert einfach auf diesen Scroll-Effekt –

Antwort

5

ich es geschafft, dieses Problem zu beheben, indem die ViewPager Höhe auf eine feste Größe einstellen. Es scheint, dass wrap_content nicht unabhängig von der Bildgröße ist.

+0

In meinem Fall habe ich ein Fragment anstelle eines ViewPagers eingefügt, und dafür kann ich die Höhe auf "wrap_content" setzen. Der Hauptunterschied zu meiner Implementierung ist, dass fitSystemWindows nicht gesetzt ist und den Standardwert hat. – Elementary

Verwandte Themen