Ho giocato con la libreria di supporto di progettazione e ho riscontrato un piccolo problema che spero che qualcuno possa aiutarmi.Viewpager non viene visualizzato quando si utilizza CollapsingToolbarLayout
Sto usando un CollapsingToolbar che contiene un ImageView che collassa in parralax. In CollapsingToolbar, ho anche un TabLayout che dovrebbe scorrere il mio ViewPager. Il mio problema è che il ViewPager non appare. Il problema sembra sorgere solo quando ho impostato il mio ViewPager layout_height per match_parent o wrap_content. Se lo metto a 600dp, il problema non c'è, ma la vista finisce per essere una lunghezza fissa che non è molto bella.
Qualsiasi aiuto sarebbe apprezzato!
Ecco la mia 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: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="@dimen/detail_backdrop_height"
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"
android:fitsSystemWindows="true"
app:contentScrim="?attr/colorPrimary"
>
<ImageView
android:id="@+id/backdrop"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
app:layout_collapseMode="parallax"
android:src="@drawable/stock_image"/>
<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"
android:layout_gravity="top"
/>
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
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">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
/>
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>
La rimozione di questi 'NestedScrollView' e' LinearLayout' risolve il problema che il 'ViewPager' è ora visibile. Tuttavia, sorge un altro problema: non riesco a scorrere il 'ViewPager' verticalmente, ecco perché ho avuto quelle viste lì in primo luogo. Qualche suggerimento per risolverlo? – Adam
@Adam: è possibile aggiungere un 'NestedScrollView' a ciascuna pagina se necessario. – ianhanniballake
Grazie per il vostro aiuto. Ho finito per mettere NestedScrollViews nei frammenti del mio ViewPager invece che attorno al ViewPager stesso e ha fatto il lavoro! – Adam