RecyclerView последний элемент обрезается на резюме фрагмента - PullRequest
0 голосов
/ 30 июня 2019

Задача

RecyclerView работает должным образом, и при открытии detailFragment изображение не обрезается. Но он обрезает последний элемент моего RecylerView элемента всякий раз, когда я возвращаюсь назад из detailFragment, запущенного элементом recylcerview.

Я сталкиваюсь с этим только на моем эмуляторе, который api 26. Когда я запускаю его в своем телефоне api 28, он работает правильно. Но я думаю, что могу что-то упустить.

fragment_main

<?xml version="1.0" encoding="utf-8"?>
    <androidx.coordinatorlayout.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:fitsSystemWindows="true"
            android:background="@color/colorWhite">

        <com.google.android.material.appbar.AppBarLayout
                android:id="@+id/fragment_main_abl"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                app:elevation="0dp"
                android:background="@color/colorWhite"
                android:fitsSystemWindows="true">

            <com.google.android.material.appbar.CollapsingToolbarLayout
                    android:id="@+id/fragment_main_ctbl"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    app:layout_scrollFlags="scroll|exitUntilCollapsed"
                    app:contentScrim="@android:color/white"
                    app:expandedTitleTextAppearance="@color/colorPrimaryText"
                    android:fitsSystemWindows="true">

                <include layout="@layout/header_fragment_main"
                         app:layout_collapseMode="parallax"/>

                <androidx.appcompat.widget.Toolbar
                        android:id="@+id/fragment_main_tb"
                        android:layout_width="match_parent"
                        android:layout_height="?attr/actionBarSize"
                        app:layout_collapseMode="pin">
                </androidx.appcompat.widget.Toolbar>

            </com.google.android.material.appbar.CollapsingToolbarLayout>

            <com.google.android.material.tabs.TabLayout
                    android:id="@+id/fragment_main_tl"
                    android:layout_width="match_parent"
                    android:layout_height="@dimen/fragment_main_tl_height"
                    app:tabMode="scrollable"
                    app:tabSelectedTextColor="@color/colorPrimary"
                    app:tabTextColor="@color/colorUnselected"/>

        </com.google.android.material.appbar.AppBarLayout>


        <androidx.viewpager.widget.ViewPager
                android:id="@+id/fragment_main_vp"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
             app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior"/>

    </androidx.coordinatorlayout.widget.CoordinatorLayout>

fragment_child

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:background="@android:color/white"
        >

    <androidx.recyclerview.widget.RecyclerView
            android:id="@+id/fragment_child_rv"
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:clipToPadding="false"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>

Примечание

  • Я не хочу ставить нижнюю прокладку для моего recyclerView. я пытался это и работает, но в то время, когда мои recyclerView функции должным образом избыточная прокладка видна внизу
  • Я бы не хотел использовать nestedScrollView для моего recyclerView, если это возможно, поскольку я бы хотел, чтобы recyclerView максимально утилизировал

1 Ответ

0 голосов
/ 30 июня 2019

Замена

app:layout_scrollFlags="scroll|exitUntilCollapsed"

с

app:layout_scrollFlags="scroll|enterAlways|enterAlwaysCollapsed" 

решил мою проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...