1

Я работаю на этой среде,координатор макет с ViewPager, прокрутка не работает

compileSdkVersion 25 
    buildToolsVersion '25.0.0' 
    defaultConfig { 
     minSdkVersion 21 
     targetSdkVersion 25 

с этими зависимостями:

compile 'com.android.support:appcompat-v7:25.0.1' 
    compile 'com.android.support:design:25.0.1' 
    compile 'com.android.support:recyclerview-v7:25.0.1' 
    compile 'com.android.support:cardview-v7:25.0.1' 

Я хочу, чтобы сделать вид с coordinatorlayout, но содержащий viewPager, а не recyclerview. это файл макета:

<?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:layout_width="match_parent" 
    android:layout_height="match_parent"> 

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

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:background="?attr/colorPrimary" 
      app:layout_scrollFlags="scroll|enterAlways" 
      app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> 

     <android.support.design.widget.TabLayout 
      android:id="@+id/tabs" 
      android:layout_width="match_parent" 
      android:layout_height="72dp" 
      app:tabGravity="fill" 
      app:tabMode="fixed" /> 
    </android.support.design.widget.AppBarLayout> 

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

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

Моя проблема заключается в том, что прокрутка не работает для представления. Я вижу несколько сообщений, которые реализуют метод onTouch для имитации прокрутки, но я хочу работать с координаторомLayout. Спасибо.

+0

Какие макеты вам необходимо скоординировать здесь? Другими словами, что не так с LinearLayout, например? –

+0

Вы пытаетесь это сделать? https://gist.github.com/iPaulPro/1468510f046cb10c51ea#gistcomment-1471485 У вас отсутствует CollapsingToolbarLayout –

+0

да, я пытаюсь это сделать, но пейджер, который у меня есть, не содержит recyclerview, он содержит LinearLayout, который содержит компоненты , – Fakher

ответ

5

Для работы с CoordinatorLayout требуется представление, реализующее интерфейс NestedScrollingChild внутри ViewPager, например NestedScrollView. Итак, вставьте LinearLayout в качестве дочернего элемента NestedScrollView.

0
<NestedScrollView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" > 
     <android.support.v4.view.ViewPager 
     android:id="@+id/viewpager" 
     android:layout_width="match_parent" 
     android:layout_height="200dp"/>//Wrap content will not work here you have to give fix height 
</NestedScrollView> 
+0

Не работает, ViewPager не появляется – comm1x