当前位置: 首页 > 知识库问答 >
问题:

如何从XML设置回收人员视图应用程序:layoutManager="?

禄仲渊
2023-03-14

如何从XML设置RecyclView layoutManager?

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

共有3个答案

东门俊民
2023-03-14

我来这里寻找androidx的版本,虽然很容易弄清楚,但它就在这里

LinearLayoutManager:

app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"

示例:

<androidx.recyclerview.widget.RecyclerView
    android:id="@+id/recyclerView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"/>

GridLayoutManager:

app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"

示例:

<androidx.recyclerview.widget.RecyclerView
    android:id="@+id/recyclerView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    app:spanCount="2"
    app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"/>

正如您在上面的示例中所看到的,您可以使用

android:orientation="vertical"

android:orientation="horizontal"

并使用以下方式设置GridLayoutManager的列数

app:spanCount="2"
宋典
2023-03-14

如果您想将其与LinearLayoutManager一起使用

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

相当于

LinearLayoutManager mLayoutManager = new LinearLayoutManager(getApplicationContext());
mRecyclerView.setLayoutManager(mLayoutManager);
韦高格
2023-03-14

您可以在文档中签入:

要使用的布局管理器的类名。

该类必须扩展androidx。回收视图。小部件。RecyclerViewView$LayoutManager,并具有默认构造函数或具有签名的构造函数(android.content.Context,android.util.AttributeSet,int,int)

如果名称以“<代码>”开头。' ,以应用程序包为前缀。否则,如果名称包含<代码>' ,则假定类名是完整的类名。否则,将在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:方向=“horizontal | vertical”:控制LayoutManager的方向(例如:LinearLayoutManager)
  • 应用程序: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"
    ...>

您还可以使用工具命名空间(即工具:方向和工具:布局管理器)添加它们,然后它只影响IDE预览,您可以继续在代码中设置这些值。

 类似资料:
  • 我正在构建一个聊天应用程序,并使用 RecyclerView 呈现消息。由于这是一个聊天应用程序,最后的消息应显示在列表的底部。为了实现这一点,我通过以下方式使用LinearManager: 如果对话中有很多信息,它也能很好地工作。但是,如果用户之间只有一两条消息,RecyclerView会将它们显示在屏幕底部,并在它们上方留出空白。 在这种情况下,是否可以在屏幕顶部显示回收器项目?

  • 我正在实现N个项目的回收器视图,但我想在列表中只显示3个项目。此外,我已经为回收器视图设置了spanCount,但它不起作用

  • 我已经被困在这个问题上几天了,真的需要一些帮助和理解如何用DiffUtil设置RecylerView(RV),似乎无论我尝试什么,我都无法让RV更新。我会浏览我所拥有的,希望有人能解释一下我做错了什么。 应用程序启动 创建视图模型, 然后在ViewModel中填充LiveDataList。 LayoutManager和ListAdapter应用于RV 为什么在LiveDataList中添加或删除一

  • 是否可以将可展开的列表项与新的 RecyclerView 一起使用?喜欢 ExpandableListView?

  • 我有一个像相册这样的项目列表,我通过RecyclerView显示它。 此外,每个项目都有一个按钮,通过单击该按钮可以向服务器发送一些数据,然后滚动到列表中的下一个位置。 所以我的问题是: 如果调用了smoothScrollToPosition()方法,如何防止RecyclerView手动滚动(手势),但滚动到某个位置?

  • 在此处输入图像描述 我有一份父母名单,每个人都有零个或多个孩子,我用回收视图给父母看。我想向家长展示每个回收人员视图项目的标题,下面是向所有孩子展示向孩子展示的最好方式是什么?是否适合在列表视图中显示孩子,或者为每个孩子添加动态视图,如果是的话,如何做到这一点?我已经附上了布局的图像,请检查我的意思,谢谢 在此处输入图像描述