如何从XML设置RecyclView layoutManager?
<android.support.v7.widget.RecyclerView
app:layoutManager="???"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
我来这里寻找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"
如果您想将其与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);
您可以在文档中签入:
要使用的布局管理器的类名。
该类必须扩展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)示例:
<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手动滚动(手势),但滚动到某个位置?
在此处输入图像描述 我有一份父母名单,每个人都有零个或多个孩子,我用回收视图给父母看。我想向家长展示每个回收人员视图项目的标题,下面是向所有孩子展示向孩子展示的最好方式是什么?是否适合在列表视图中显示孩子,或者为每个孩子添加动态视图,如果是的话,如何做到这一点?我已经附上了布局的图像,请检查我的意思,谢谢 在此处输入图像描述