我需要一个工具栏与一些高度坚持在顶部。在它下面有一个回收站视图。当这个recycler-view滚动时,它应该覆盖工具栏,当向下滚动时,工具栏出现。在短工具栏是后面的回收视图时滚动。我看到折叠工具栏和更多的选项与协调器布局。但这实际上是折叠工具栏或滑动工具栏。我需要的工具栏应该只在那里,但recycler-view滚动时应涵盖它。请帮
avwztpqn1#
你可以使用FrameLayout来实现这一点,framelayout允许它内部的元素重叠,你的xml的最后一个元素将重叠在它上面的元素,如果它们没有正确的间隔。你可以把你的工具栏放在顶部,把recyclerview放在底部。如果你添加一个工具栏大小的topMargin到你的RV,工具栏仍然会出现在顶部,因为RV滚动它的内部元素,为了解决这个问题,添加一个工具栏大小的topPadding(使用适当的?actionBarSize),并给予你的RV一个透明的背景,当然你需要添加android:clipToPadding="false"到RV。这样,您的工具栏将显示在后面。现在,根据您的RV项目,您可能需要为它们设置一些背景,以便您的工具栏不显示在后面。
FrameLayout
topMargin
topPadding
?actionBarSize
android:clipToPadding="false"
<androidx.recyclerview.widget.RecyclerView android:id="@+id/searchResultProductsRecyclerview" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/transparent" android:paddingTop="?actionBarSize" android:clipToPadding="false" app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" tools:listitem="@layout/product" />
1条答案
按热度按时间avwztpqn1#
你可以使用
FrameLayout
来实现这一点,framelayout允许它内部的元素重叠,你的xml的最后一个元素将重叠在它上面的元素,如果它们没有正确的间隔。你可以把你的工具栏放在顶部,把recyclerview放在底部。如果你添加一个工具栏大小的
topMargin
到你的RV,工具栏仍然会出现在顶部,因为RV滚动它的内部元素,为了解决这个问题,添加一个工具栏大小的topPadding
(使用适当的?actionBarSize
),并给予你的RV一个透明的背景,当然你需要添加android:clipToPadding="false"
到RV。这样,您的工具栏将显示在后面。现在,根据您的RV项目,您可能需要为它们设置一些背景,以便您的工具栏不显示在后面。