Высота RecyclerView не регулируется при раскрытии AppBarLayout

Код для инициализации RecyclerView

private void initRecyclerView() {
    layoutManager = new GridLayoutManager(this, spanCount);
    mRecyclerRV.setLayoutManager(layoutManager);
    mRecyclerRV.addItemDecoration(new GridSpacingItemDecoration(spanCount, (int) (TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, spaceInDp, getResources().getDisplayMetrics()) + 1), false));
    mRecyclerRV.setNestedScrollingEnabled(false);
    mRecyclerRV.setAdapter(mAdapter);
    mRecyclerRV.addOnScrollListener(new RecyclerView.OnScrollListener() {
        @Override
        public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
            super.onScrollStateChanged(recyclerView, newState);
            if (!recyclerView.canScrollVertically(-1)
                    && RecyclerView.SCROLL_STATE_SETTLING == newState
                    && mScrollVerticalDirection
                    && mIsAppBarCollapsed) {
                mAppBarLayout.setExpanded(true);
            }
        }

        @Override
        public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
            super.onScrolled(recyclerView, dx, dy);
            mScrollVerticalDirection = (dy < 0);
        }
    });

    mRecyclerRV.postDelayed(new Runnable() {
        @Override
        public void run() {
            RecyclerView.ViewHolder holder = mRecyclerRV.findViewHolderForAdapterPosition(1);
            if (null != holder) {
                holder.itemView.performClick();
            }
        }
    }, 1000);
}

Файл макета находится здесь и использует CoordinatorLayout.

<?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:id="@+id/activity_local_album_coordinator"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    android:background="@color/colorPageBg">

    <android.support.design.widget.AppBarLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/activity_local_album_appbar_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/border_bottom_bg"
        android:theme="@style/Wemeet.ActionBar">

        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/activity_local_album_collapsing"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingBottom="@dimen/dp2"
            app:layout_scrollFlags="scroll|exitUntilCollapsed|snap">

            <android.support.v7.widget.Toolbar
                android:id="@+id/local_album_toolbar"
                style="@style/WemeetTitlebar"
                android:layout_marginStart="-10dp"
                android:titleTextColor="@color/colorText33"
                app:layout_scrollFlags="scroll"
                android:theme="@style/Wemeet.Toolbar">

                <TextView
                    android:id="@+id/comm_toolbar_title"
                    style="@style/WemeetTitlebar.Title"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_centerInParent="true"
                    android:layout_gravity="center"
                    android:text="相机胶卷"
                    android:gravity="center"
                    android:singleLine="true" />

            </android.support.v7.widget.Toolbar>

            <LinearLayout
                android:layout_gravity="center_horizontal"
                android:orientation="vertical"
                android:layout_width="match_parent"
                android:layout_marginTop="@dimen/dp48"
                android:layout_height="350dp"
                app:layout_scrollFlags="scroll">

                <View
                    android:layout_width="match_parent"
                    android:layout_height="1px"
                    android:background="@color/colorDivider"
                    android:id="@+id/fg_top_border" />

                <com.weiguan.wemeet.basecomm.ui.widget.WemeetVideoView
                    android:visibility="gone"
                    android:layout_gravity="center"
                    android:id="@+id/activity_local_album_preview_video"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content">

                </com.weiguan.wemeet.basecomm.ui.widget.WemeetVideoView>

                <ImageView
                    android:id="@+id/activity_local_album_preview_iv"
                    android:layout_gravity="center_horizontal"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:scaleType="fitCenter" />
            </LinearLayout>
        </android.support.design.widget.CollapsingToolbarLayout>

    </android.support.design.widget.AppBarLayout>
    <android.support.v7.widget.RecyclerView
        android:id="@+id/activity_local_album_recycler_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">

    </android.support.v7.widget.RecyclerView>

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

Когда AppBarLayout свернут, прокрутка RecyclerView происходит правильно.

введите описание изображения здесь

Но когда AppBarLayout расширяется, высота RecyclerView не регулируется, и прокрутка появляется ненормально.

введите описание изображения здесь


person jonathan    schedule 20.07.2017    source источник
comment
поместите свой код, чтобы кто-нибудь обнаружил ошибку   -  person Pritesh - ɐʎıɥpɐΛ ɥsǝʇᴉɹꓒ    schedule 20.07.2017
comment
@PriteshVadhiya Сбой хрома, когда я редактирую всю информацию вместе, а затем добавляю одну за другой, и все они там   -  person jonathan    schedule 20.07.2017
comment
Кто-нибудь может помочь?   -  person jonathan    schedule 25.07.2017


Ответы (1)


Никаких способов получить это. Но измените размер представления ресайклера, когда панель приложения расширяется или собирается сворачиваться.

person jonathan    schedule 17.08.2017