我知道 RecyclerView
已经取代了旧的 ListView
和 GridView
的功能。我正在寻找一个非常基本的示例,该示例显示使用 RecyclerView
的最小网格设置。我不是在寻找长篇教程风格的解释,只是一个最小的例子。我想模仿旧 GridView 的最简单的网格将包含以下功能:
- 每行多个单元格
- 每个单元格中的单个视图
- 响应点击事件
原文由 Suragch 发布,翻译遵循 CC BY-SA 4.0 许可协议
我知道 RecyclerView
已经取代了旧的 ListView
和 GridView
的功能。我正在寻找一个非常基本的示例,该示例显示使用 RecyclerView
的最小网格设置。我不是在寻找长篇教程风格的解释,只是一个最小的例子。我想模仿旧 GridView 的最简单的网格将包含以下功能:
原文由 Suragch 发布,翻译遵循 CC BY-SA 4.0 许可协议
There are 2 ways to achieve this
- In Xml
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/list_amenities"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/_8sdp"
android:nestedScrollingEnabled="false"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:spanCount="2"
app:layout_constraintEnd_toEndOf="@+id/text_parking_lot_amenities" app:layout_constraintStart_toStartOf="@+id/text_parking_lot_amenities" app:layout_constraintTop_toBottomOf="@id/text_parking_lot_amenities" />
跨度计数用于网格列
- 活动中
listAmenities.layoutManager = GridLayoutManager(this, TWO)
here TWO indicates number of grid columns
原文由 Nandini 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答1.3k 阅读✓ 已解决
2 回答2.6k 阅读
2 回答1.7k 阅读
1 回答2.1k 阅读
1 回答700 阅读✓ 已解决
1 回答1.1k 阅读
1 回答1.3k 阅读
简短的回答
对于那些已经熟悉 设置
RecyclerView
来制作列表 的人来说,好消息是制作网格大致相同。当您设置LinearLayoutManager
时,您只需使用GridLayoutManager
而不是RecyclerView
。如果您需要更多帮助,请查看以下示例。
完整示例
以下是一个最小示例,如下图所示。
从一个空的活动开始。您将执行以下任务来添加
RecyclerView
网格。您需要做的就是复制并粘贴每个部分的代码。稍后您可以自定义它以满足您的需求。更新 Gradle 依赖项
确保您的应用程序中有以下依赖
gradle.build
文件:您可以将版本号更新为 最新 的。
创建活动布局
将
RecyclerView
添加到您的 xml 布局中。_activitymain.xml
创建网格单元布局
我们的
RecyclerView
网格中的每个单元格只会有一个TextView
。创建一个新的布局资源文件。_recyclerviewitem.xml
创建适配器
RecyclerView
需要一个适配器来用您的数据填充每个单元格中的视图。创建一个新的 java 文件。MyRecyclerViewAdapter.java
笔记
GridView
中可用,并且是常见的需求。如果不需要,可以删除此代码。在Activity中初始化RecyclerView
将以下代码添加到您的主要活动中。
MainActivity.java
笔记
ItemClickListener
。这使我们能够处理onItemClick
中的单元格点击事件。完成的
而已。您现在应该能够运行您的项目并获得类似于顶部图像的内容。
继续
圆角
自动装配柱
进一步研究