CardView 内的对象放置与 RecyclerView 不一致

Inconsistent object placement inside CardView with RecyclerView

编辑:

其他详细信息:奇怪的是,如果只有 <=3 个元素,它只会出现错误。更重要的是,因为每个元素都可以滚动,然后布局将在重新显示时 "fix" 本身。

其他详细信息:Link 显示问题的演示视频。

Youtube Video - https://youtu.be/zlwi_Bz-HQo


所以下面的屏幕截图是从 android 工作室的同一个 运行 截取的。

在屏幕截图中,我有 2 个完全相同的卡片视图(具有直接来自 .xml 的虚拟数据,因此,我没有分配来自 java 文件的数据)。

问题

  1. 如果你们看每个 CardView 的右下角,有一个 名为 "read more".

    的文本视图

    奇怪的是,即使它们是相同的,它的位置也不同。 顺便说一句,它实际上是 3 张相同的卡片。第一个运行,最上面的“读 更多”也放错了位置,但当我 完全向下滚动并回到顶部。

  2. 第二个问题是卡片顶部的 5x4 点。它的位置与从编辑器中看到的不同。

(编辑器上的位置准确)

知道如何处理这种违规行为吗?谢谢。

顺便说一句,我不确定你们是否需要代码,但以防万一,它在 Pastebin 上(以缩短 post 长度)。

对 RecyclerView 使用 match_parent。

像这样修复:

<android.support.v7.widget.RecyclerView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/recycler_view_timeline"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"/>

如果父视图的宽度为wrap_content,则在确定子视图的宽度后才能确定父视图的宽度。 我不知道父视图设置 layout_width="wrap_content" 和子视图设置 layout_width="match_parent" 的结果。 我猜结果可能是错误的布局。 在您的布局中,发生了相同的情况。 RecyclerViewlayout_width="wrap_content"CardViewlayout_width="match_parent"