更新:
- 实际问题是 with
CoordinatorLayout
not withRecycleView
。 - 而不是使用我在里面
RecycleView
尝试过,这是同样的问题。TextView
ScrollView
Toolbar
如果您有asActionBar
并使用CoordinatorLayout
另一个ToolBar
as Sticky Header,底部有滚动元素,则某些内容未对齐
原来的:
我正在开发一个视图,该视图需要在底部带有回收视图的 Sticky 标头实现。我已经使用了这里描述的协调器布局支持。
什么工作:
- 滚动列表上的粘滞视图。
- 使用
layout_collapseMode = pin
和CollapsingToolbarLayout
使用layout_scrollFlags = scroll|exitUntilCollapsed|snap
属性的工具栏。 - 具有行为的回收视图
app:layout_behavior="@string/appbar_scrolling_view_behavior
"
- 使用
什么是问题:
- 回收视图在底部留下边距,它的大小与
Toolbar
我用于粘性视图的大小相同。 - 回收视图最后一项不显示,它需要额外
bottom_margin
的粘性工具栏视图的大小。
观察:
- 如果我立即填充回收,那么它就可以工作。但是,如果延迟通知它,则会导致问题。
- 更新。在另一次试用和运行**中,我没有使用 Recycle,而是在 .(PFA) 中放置了一个
TextView
(NestedScrollView
此处未在布局中更新)- 在这里,我从 xml 添加了文本,延迟 2 秒后,只需添加更多文本,结果相同。
- 它的布局再次占据下边距。所以没有什么与回收视图相关的特定内容,似乎与
CoordinatorLayout
.
我已经尝试过多种可用的解决方案,here,here,但都没有工作。
PFA,电流输出。
更新PFA,尝试延迟文本视图。
这是布局文件。
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/summaryAppBar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.google.android.material.appbar.CollapsingToolbarLayout
android:id="@+id/main.collapsing"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_scrollFlags="scroll|exitUntilCollapsed|snap">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="256dp"
android:background="@drawable/fable_1"
app:layout_collapseMode="parallax"
app:layout_collapseParallaxMultiplier="0.3" />
<!-- This is sticky header-->
<androidx.appcompat.widget.Toolbar
android:id="@+id/summaryToolBar"
android:layout_width="match_parent"
android:layout_height="72dp"
android:layout_gravity="center"
android:background="@android:color/white"
android:padding="@dimen/common_layout_margin"
android:visibility="visible"
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="24sp"
android:text="Name" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:textSize="24sp"
android:text="Offer"/>
</FrameLayout>
</androidx.appcompat.widget.Toolbar>
</com.google.android.material.appbar.CollapsingToolbarLayout>
</com.google.android.material.appbar.AppBarLayout>
<!-- Bottom margin if I do't use then it does not display last child item. Wired but true in this case-->
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:visibility="visible"
android:layout_marginBottom="72dp"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:listItem="@layout/item_dessert" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>