编辑:
附加细节:奇怪的是,如果只有< = 3个元素,它只会出错。更重要的是,因为每个元素都可以滚动,所以布局将会修复"在重新表现时。
其他详细信息:链接到显示问题的演示视频。
Youtube Video - https://youtu.be/zlwi_Bz-HQo
所以下面的截图,是从Android工作室的相同运行中获取的。
在屏幕截图中,我有两个完全相同的卡片视图(直接来自.xml的虚拟数据,所以,我没有从java文件中分配数据)。
如果你们看看每个CardView
的右下角,那就是a
文字视图叫做"阅读更多"。
奇怪的是,即使它们相同,它的位置也不同。 顺便说一句,它实际上是3张相同的牌。在第一次运行时,顶部"读取 更"也错误地放置,但它在我自动纠正自己 完全向下滚动并返回顶部。
(编辑中的展示位置准确无误)
知道如何处理这种不规则性吗?感谢。
是的,我不确定你们是否需要代码,但以防万一,这里是在Pastebin上(缩短帖子长度)。答案 0 :(得分:1)
对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"
的结果。
我猜结果可能是错误的布局。
在你的布局中,同样的情况也会发生。
RecyclerView
有layout_width="wrap_content"
,CardView
有layout_width="match_parent"
。