Tasarım Desteği Kitaplığı ile uğraşıyorum ve birilerinin bana yardımcı olabileceğini umduğum küçük bir sorunla karşılaştım.Viewpager CollapsingToolbarLayout kullanırken görünmüyor
Ben parralax içinde çöken bir ImageView içeren bir CollapsingToolbar kullanıyorum. CollapsingToolbar'da, ViewPager'imi kaydırması gereken bir TabLayout'um var. Sorunum, ViewPager'ın görünmemesi. Sorun, yalnızca ViewPager layout_height öğemi match_parent veya wrap_content olarak ayarladığımda ortaya çıkıyor. Eğer bunu 600dp'ye ayarlarsam, o zaman sorun gider, ama sonra görünüm çok güzel olmayan sabit bir uzunluk olarak belirir.
Herhangi bir yardım grealty takdir olurdu!
<android.support.design.widget.CoordinatorLayout>
<android.support.design.widget.AppBarLayout>
...
</android.support.design.widget.AppBarLayout>
<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" />
</android.support.design.widget.CoordinatorLayout>
app:layout_behavior="@string/appbar_scrolling_view_behavior
ile görmek doğru konacak CoordinatorLayout
doğrudan alt öğesi olmalıdır:
İşte Size CoordinatorLayout
ve ViewPager
arasında NestedScrollView
ve LinearLayout
seviyelerini kaldırmalısınız benim 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>
"NestedScrollView" ve "LinearLayout" öğelerini kaldırmak sorunu giderir, yani "ViewPager" işlevi artık görünür durumdadır. Bununla birlikte, başka bir problem ortaya çıkıyor: 'ViewPager'ı dikey olarak kaydırmam mümkün değil, bu yüzden ilk önce o görüntülemelere katıldım. Bunu düzeltmek için herhangi bir öneriniz var mı? – Adam
@Adam - İhtiyacınız varsa her sayfaya bir "NestedScrollView" ekleyebilirsiniz. – ianhanniballake
Yardımlarınız için teşekkürler. ViewPager'ın kendi yerine ViewPager'ın parçalarına NestedScrollViews yerleştirmeyi bitirdim ve işi yaptı! – Adam