RecyclerView wrap_content

3

我试图让一个 layout_widthwrap_content 的 RecyclerView 居中,但是一直没有成功。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_horizontal"
    android:orientation="vertical">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/rv_schemes"
        android:scrollbars="vertical"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

</LinearLayout>

当 RecyclerView 的 layout_width 被设置为 200dp 时,它会居中显示,否则它只会靠左对齐。
如何使 RecyclerView 在 layout_width 设置为 wrap_content 时水平居中显示?

请查看我的答案:https://dev59.com/A4bca4cB1Zd3GeqPQwkp#33849954 - Dpedrinha
请查看此答案:https://dev59.com/dOo6XIcBkEYKwwoYIAcL#35623177 - Amit Vaghela
尝试使用android:adjustViewBounds="true",希望能有所帮助。 - vuhung3990
3个回答

11

1
请勿在多个问题中发布相同的答案。发表一个好的答案,然后投票/标记关闭其他重复的问题。如果问题不是重复的,请根据问题量身定制您的答案。 - josliber
好的,我已经修改了我的回答内容并会遵循你的建议。 - Amit Vaghela

10

这与 LayoutManager 如何计算大小有关。 这里 有相关的 bug 和一些人们使用的解决方法。

注意:支持库的23.2版本现在支持wrap content,所以看起来他们已经修复了这个问题。您可以在这里查看更改日志


-2

你尝试使用RelativeLayout而不是线性布局,然后将Recyclerview的layout_centerHorizontal="true"吗?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接