android - RecyclerView:返回活动时最后一项被切断
问题描述
我有一个RecyclerView
里面CoordinatorLayout
CollapsingToolbar
RecyclerView
返回活动时,我遇到了最后一项被切断的奇怪行为。我找到了一个解决方案,但它涉及更改滚动标志,这会使工具栏不在顶部固定,这不是我想要的。我删除了所有fitSystemWindows=true
并尝试将RecyclerView
's 高度设置为wrap_content
但仍然无济于事。
我能做些什么来解决这个问题?
布局.xml
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/white">
<com.google.android.material.appbar.CollapsingToolbarLayout
android:id="@+id/collapsingToolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:collapsedTitleTextAppearance="@style/collapsing_toolbar_collapse"
app:contentScrim="@android:color/white"
app:expandedTitleGravity="bottom|left"
app:expandedTitleMarginBottom="@dimen/margin_medium"
app:expandedTitleMarginStart="@dimen/margin_medium"
app:expandedTitleTextAppearance="@style/collapsing_toolbar_expanded"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<View
android:layout_width="match_parent"
android:layout_height="@dimen/height_toolbar_expanded" />
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin">
<include
android:id="@+id/toolbarBack"
layout="@layout/layout_back" />
</androidx.appcompat.widget.Toolbar>
</com.google.android.material.appbar.CollapsingToolbarLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="42dp"
android:paddingStart="@dimen/margin_medium"
android:paddingEnd="@dimen/margin_medium">
<TextView
android:id="@+id/textView37"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_xx_small"
android:fontFamily="@font/carrois_gothic"
android:text="@string/pos"
android:textColor="@android:color/black"
android:textSize="@dimen/font_size_medium"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView40"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/margin_xx_small"
android:fontFamily="@font/carrois_gothic"
android:text="@string/points"
android:textColor="@android:color/black"
android:textSize="@dimen/font_size_medium"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView41"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/carrois_gothic"
android:text="@string/player"
android:textColor="@android:color/black"
android:textSize="@dimen/font_size_medium"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="@id/guideline12"
app:layout_constraintTop_toTopOf="parent" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline12"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.4" />
</androidx.constraintlayout.widget.ConstraintLayout>
</com.google.android.material.appbar.AppBarLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/leaderBoardListBg"
android:clipToPadding="false"
android:paddingTop="@dimen/margin_medium"
android:paddingBottom="@dimen/margin_medium"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_anchor="@id/appbar"
app:layout_anchorGravity="bottom">
<View
android:layout_width="match_parent"
android:layout_height="@dimen/margin_medium"
android:layout_marginTop="@dimen/margin_medium"
android:background="@drawable/shadow_gradient_bottom" />
</LinearLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
解决方案
推荐阅读
- amazon - Alexa Skill 并排输出图像和文本
- google-api - Google Directory API:对此 API 管理方法的请求被阻止
- r - R - 如何在 r/ggplot2 中使包含字符串和动态变量的表达式变为粗体
- css - 如何使不同大小的图像响应?
- r - 在特定单词之后提取数字(stringr)
- javascript - 为我的应用创建“调试模式”变量的最佳实践?
- python - 我正在尝试使用 openpyxl 从计算机名称列表中删除域\
- amazon-web-services - AWS Cloudformation:将 Fn::GetAtt 转换为 Fn::ImportValue
- julia - 如何展平 DF 中的 dict 类型列
- android - 在 Android Studio 中克隆项目时如何更新 build.gradle 脚本名称?