Java 当项目较少时,居中回收视图垂直

Java 当项目较少时,居中回收视图垂直,java,android,android-recyclerview,Java,Android,Android Recyclerview,我有一个RecyclerView,它占据了一个约束图的一部分。 如果它包含几个项目,我需要它垂直居中。(如果项目不适合屏幕,我需要它使用可用空间(匹配约束) 如果使用layout\u height=“wrap\u content”+layout\u gravity=“center\u vertical”,我可以得到想要的布局,只要所有项目都适合可用空间 但当项目需要更多空间时,包装内容不起作用 <androidx.constraintlayout.widget.ConstraintLayo

我有一个RecyclerView,它占据了一个约束图的一部分。 如果它包含几个项目,我需要它垂直居中。(如果项目不适合屏幕,我需要它使用可用空间(匹配约束)

如果使用layout\u height=“wrap\u content”+layout\u gravity=“center\u vertical”,我可以得到想要的布局,只要所有项目都适合可用空间

但当项目需要更多空间时,包装内容不起作用

<androidx.constraintlayout.widget.ConstraintLayout>
  <FrameLayout
    android:id+"@+id/frameLayout"
    ...
  </FrameLayout>

  <androidx.recyclerview.widget.RecyclerView
    android:id="@+id/list"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_marginTop="14dp"
    android:background="@color/cardview_light_background"
    android:scrollbars="vertical"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/frameLayout"
    tools:listitem="@layout/recyclerview_sections_items" />

</androidx.constraintlayout.widget.ConstraintLayout>


试着给适配器本身设置一个固定的高度,这样包装内容就不会剪裁它们。问题不在于项目被剪裁,而在于recyclerview覆盖了其他元素。这只是一个建议,不是对你问题的答案。你所说的封面是什么意思?从你的布局来看,
recyclerview
位于所有内容的下方,这意味着我无法覆盖任何内容。它的高度为
0dp
,这意味着它位于
wrap\u content
上。您可能有一个约束问题。请发布整个布局。尝试将固定高度放置到适配器本身,以便wrap\u content不会剪裁它们。问题不是项目被剪裁,而是回收视图覆盖了其他元素这只是一个建议,不是你问题的答案。你说的封面是什么意思?从你的布局来看,
RecyclerView
在所有东西下面,这意味着它不能覆盖任何东西。它的高度是
0dp
,这意味着它在
包装内容上。你可能有一个约束问题。请发布整个布局。