我需要在我的Android应用程序中实现水平列表视图 . 我做了一些研究并遇到了How can I make a horizontal ListView in Android?和Horizontal ListView in Android?但是,在Recyclerview发布之前就提出了这些问题 . 现在使用Recyclerview有更好的方法来实现吗?
我需要在我的Android应用程序中实现水平列表视图 . 我做了一些研究并遇到了How can I make a horizontal ListView in Android?和Horizontal ListView in Android?但是,在Recyclerview发布之前就提出了这些问题 . 现在使用Recyclerview有更好的方法来实现吗?
9 回答
完整的例子
垂直
RecyclerView
和水平的唯一真正区别在于如何设置LinearLayoutManager
. 这是代码片段 . 完整的例子如下 .这个更完整的例子是在my vertical RecyclerView answer之后建模的 .
更新Gradle依赖项
确保您的app
gradle.build
文件中包含以下依赖项:您可以将版本号更新为the most current .
创建活动布局
将
RecyclerView
添加到xml布局中 .activity_main.xml中
创建项目布局
我们
RecyclerView
中的每个项目都会在TextView
上有一个彩色的View
. 创建一个新的布局资源文件 .recyclerview_item.xml
创建适配器
RecyclerView
需要一个适配器来填充每行(水平项)中的视图和您的数据 . 创建一个新的java文件 .MyRecyclerViewAdapter.java
笔记
ListViews
中可用,并且是常见的需求 . 如果您不需要,可以删除此代码 .在活动中初始化RecyclerView
将以下代码添加到主活动中 .
MainActivity.java
笔记
ItemClickListener
. 这允许我们处理onItemClick
中的项目点击事件 .完了
而已 . 您现在应该能够运行项目并获得与顶部图像类似的内容 .
注意事项
我的示例中的彩色视图当然可以替换为真实项目中的图像 .
Vertical RecyclerView example
如果要将
RecyclerView
与GridLayoutManager
一起使用,这是实现水平滚动的方法 .是 .
使用
RecyclerView
时,需要指定LayoutManager
,负责在视图中布置每个项目 . LinearLayoutManager允许您指定方向,就像普通的LinearLayout
一样 .要使用
RecyclerView
创建水平列表,您可能会执行以下操作:尝试构建水平ListView需要花费太多时间 . 我已经用两种方式解决了这个问题 .
1.使用ViewPager,其适配器从PagerAdapter扩展 .
2.如上所述使用RecyclerView . 需要应用LayoutManager,如下面的代码所示:
如果您希望使用Horizontal Recycler View作为ViewPager,那么现在可以在支持库版本24.2.0中添加
LinearSnapHelper
的帮助下使用 .Firstly Add RecyclerView to your Activity/Fragment
在我的情况下,我在
RecyclerView
内使用了CardView
blog_row.xml
In your Activity/Fragment
Last Step is to set adapter to RecyclerView
随着RecyclerView库的发布,现在您可以轻松地将图像列表与文本对齐 . 您可以使用LinearLayoutManager指定列表方向,垂直或水平,如下所示 .
You can download a full working demo from this post
有一个名为HorizontalGridView的RecyclerView子类,您可以使用它来获得水平方向 . VerticalGridView表示垂直方向
试试这个:
只有在你有一个带有一些碎片的回收者视图的情况下 .