поведение прокрутки представления AndroidX RecyclerView с помощью NestedScrollView - PullRequest
0 голосов
/ 07 февраля 2019

Я переношу свое приложение из appcompat в AndroidX.Все работает, ожидайте, что я не могу установить одну прокрутку для androidx.core.widget.NestedScrollView и androidx.recyclerview.widget.RecyclerView.

Я попытался добавить

setHasFixedSize(true)
setNestedScrollingEnabled(false)

, но это не работает.Мой XML теперь выглядит так:

     <androidx.core.widget.NestedScrollView
            android:id="@+id/scroll"
            android:layout_width="match_parent"
            android:layout_height="wrap_content
            android:clipToPadding="false"
            android:paddingBottom="5dp"
           app:layout_behavior="@string/appbar_scrolling_view_behavior">

       <LinearLayout
            android:id="@+id/itenarydays"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:background="@color/white"
            >

                     <FrameLayout 
                     android:layout_width="56dp"
                     android:layout_height="56dp"
                     android:padding="@dimen/textsise10"
                     android:layout_margin="3dp"
                     android:layout_gravity="center"
                     android:background="@drawable/roundshape">

                      <ImageView 
                       android:layout_width="wrap_content" 
                       android:layout_height="wrap_content"
                       app:srcCompat="@drawable/ic_sketch"
                       android:layout_gravity="center"
                       android:tint="@color/white"/>
        </FrameLayout>
        <androidx.recyclerview.widget.RecyclerView
                android:id="@+id/list_daycount"
                android:layout_gravity="center"
                android:layout_width="wrap_content"
                app:layout_behavior="@string/appbar_scrolling_view_behavior"
                android:clipToPadding="false"
                android:nestedScrollingEnabled="false"
 app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
                android:orientation="horizontal"
                android:layout_height="match_parent"

                android:scrollbars="none"
                android:animationCache="true"> 
      </androidx.recyclerview.widget.RecyclerView>


                     <FrameLayout
                     android:id="@+id/framelyt_add"
                     android:layout_width="56dp"
                     android:layout_height="56dp"
                     android:padding="@dimen/textsise10"
                     android:layout_margin="3dp"
                     android:layout_gravity="center"
                     android:background="@drawable/shape_redround">
                     <ImageView 
                       android:layout_width="wrap_content"
                       android:layout_gravity="center" 
                       android:layout_height="wrap_content"
                       app:srcCompat="@drawable/ic_plus"
                       android:tint="@color/white"/>
        </FrameLayout>
     </LinearLayout>

    </androidx.core.widget.NestedScrollView>

Ответы [ 2 ]

0 голосов
/ 25 августа 2019

Похоже, вам нужно удалить атрибут layout_behavior из RecyclerView, так как для него отключена вложенная прокрутка (и он уже установлен для NestedScrollView)

0 голосов
/ 26 мая 2019

используйте это:

app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior"

вместо этого:

app:layout_behavior="@string/appbar_scrolling_view_behavior"
...