小编典典

如何从 XML 设置 RecyclerView app:layoutManager=""?

all

如何从 XML设置RecyclerView layoutManager?

    <android.support.v7.widget.RecyclerView
        app:layoutManager="???"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

阅读 69

收藏
2022-06-28

共1个答案

小编典典

正如您可以查看文档:

Layout Manager 要使用的类名。

该类必须扩展androidx.recyclerview.widget.RecyclerViewView$LayoutManager并具有默认构造函数或带有签名的构造函数(android.content.Context, android.util.AttributeSet, int, int)

如果名称以 开头'.',则应用程序包为前缀。否则,如果名称包含 a '.',则假定类名是完整的类名。否则,recycler 视图包 (
androidx.appcompat.widget) 是前缀

使用 androidx ,您可以使用:

<androidx.recyclerview.widget.RecyclerView
     xmlns:app="http://schemas.android.com/apk/res-auto"
     app:layoutManager="androidx.recyclerview.widget.GridLayoutManager">

使用 支持库 ,您可以使用:

<android.support.v7.widget.RecyclerView
    xmlns:app="http://schemas.android.com/apk/res-auto"
    app:layoutManager="android.support.v7.widget.GridLayoutManager" >

您还可以添加以下属性:

  • android:orientation = "horizontal|vertical":控制 LayoutManager 的方向(例如LinearLayoutManager:)
  • app:spanCount : 设置列数GridLayoutManager

例子:

<androidx.recyclerview.widget.RecyclerView
    app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
    app:spanCount="2"
    ...>

或者:

<androidx.recyclerview.widget.RecyclerView
    app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
    android:orientation="vertical"
    ...>

您还可以使用 tools
命名空间(即tools:orientationtools:layoutManager)添加它们,然后它只会影响 IDE
预览,您可以继续在代码中设置这些值。

2022-06-28